Systems and methods for drone swarm wireless communication

ABSTRACT

A method for improving wireless communication for a drone swarm, the method comprising, at a computing system, receiving, from a plurality of drones of a drone swarm, data comprising radio frequency signal characteristics detected by the plurality of drones; generating a model of a radio frequency environment for the drone swarm based on the data received from the plurality of drones; and controlling at least one wireless communication system to improve wireless communication for the drone swarm based on the model of the radio frequency environment.

PRIORITY

This application claims the benefit, under 35 U.S.C. § 119(e), of U.S.Provisional Patent Application No. 63/209,392, filed Jun. 11, 2021,which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

This disclosure generally relates to drones, and more specifically towireless communication for drones.

BACKGROUND

Over the last 50 years there have been successive waves of billions ofend-user computing devices driven by tremendous cost declines insemiconductor hardware. In the 1980s, microprocessors made computationsbecame essentially free and ubiquitous. This enabled a new generation ofsoftware that led to the “Personal Computer (PC) revolution.”

In the 2000s, the semiconductor revolution arrived for communicationstechnology, connecting devices worldwide. Free computation andcommunications enabled a new generation of software that led to the“Mobile revolution.”

In the 2010s, the integration of low-cost imaging chips made cameras andother sensors essentially free and ubiquitous. Free computation,communications, and sensing enabled a new generation of Internet ofThings (IoT) software, which ushered in a revolution in Smart Home,Office, and Factory technology. IoT refers to physical objects withsensors, processing ability, software, and other technologies configuredto connect and exchange data with other devices and systems over theInternet or other communications networks.

Now, in the 2020s, the next revolution has arrived. Motors and batteriesdriven by hardware technology have made motion essentially free.However, there is still a need for a new generation of software thattakes advantage of free computation, communications, sensing, and nowmotion.

The history of innovation has followed a cycle over the last 40 years.As seen, for example, with reference to FIG. 4 , cycle 400 first beginswith the hardware innovation that makes some formerly expensive part ofthe ecosystem effectively “free,” leading to the personal computer (PC)revolution. That is, the cost of computation in the 1980's dropped somuch, that use of the PC became ubiquitous. Furthermore, thesemiconductor revolution begot the mobile revolution. This then enabledthe software revolution that exploited that power, thus entering intothe IoT era. Finally, the end-user revolution arrived with firstmillions then billions of devices were available to everyone.

Then innovation proceeded to another component, until the addition offree motors, which refers to everything that can move and everythingthat can be controlled. The final component of cycle 400 is therevolutions taking place to enable the “drone revolution.”

The hardware that is enabled by motors, particularly motors used fordrones, is still in its infancy. There are several large areas wherethis will have massive impacts.

The first area where a massive impact will be felt by the developmentsin motors includes flying drones, which is also referred to hereininterchangeably as Unmanned Aerial Vehicles (UAVs). There are manydifferent kinds of drones. As defined herein, a drone refers to anautonomous agent capable of navigating through physical environments(e.g., through air, solid surface, liquid surface, through water)without human intervention. The large categories include VerticalTake-off and Landing (VTOL) devices that have two or more motors. VTOLdevices with two or more motors are generally referred to ashelicopters. However, if the VTOL device includes four motors, it can bereferred to as a quad-copter. A quad-copter can also be referred to as aquad-rotor, which refers to a specific implementation of a droneincluding four brushless DC motors and propellers. In addition, someVTOL devices having six motors are referred to as hexa-copters, andthose including eight motors are referred to as octo-copters.

Some VTOL devices may include even more motors, with the one, four, six,or eight motors of the helicopter, quad-copter, hexa-copter, orocto-copter, respectively, driving one or more rotors.

Some additional types of VTOL devices include fixed wing UAVs. Fixedwing UAVs can travel greater distances than VTOL devices, however theyare generally unable to hover in a given location for long. Fixed wingUAVs generally have greater range and efficiency than VTOL devices.Fixed wing UAVs may also include lighter-than-air crafts that useballoons or blimp structures filled with helium, hydrogen, or othergasses. In addition, VTOL devices may include hybrids of VTOL devices(e.g., rotating-wing craft that can take off vertically, and fly using awing or copters) and fixed wing UAVs. Such hybrid devices may be poweredby electricity using batteries, internal combustion, hydrogen, nuclear,or other power sources, or combinations thereof.

Another category of UAV includes Wheeled Drones or Autonomous Vehicles(AVs). The most common form are self-driving vehicles (e.g., cars,trucks, etc.). Unlike flying drones, AVs work in a 2-D space, such as onroads. AVs may include delivery drones that run on sidewalks, as well astractors, and wheeled and tracked vehicles that can move off-road.

Another category of UAV includes Walking Drones or Robots. Walkingdrones are typically biped or quad-ped with legs that allow increasedmaneuverability.

Still another category of UAV includes Swimming Drones, Sailing Drones,or Submersible Drones, which may be referred to interchangeably as“underwater autonomous vehicles.” Underwater autonomous vehiclestypically are deployed underwater, such as in nature or which float onthe water. Underwater autonomous vehicles may use hydrofoils to lifttheir bodies out of the water and to submerge. Underwater autonomousvehicles may use propellers, water jets, rockets, or other forms ofpropulsion.

Yet still another category of UAV includes hybrid drones. Hybrid dronesmay a combination of characteristics. For example, a hybrid drone mayinclude an amphibious drones having wheels or tracks, as well as beingable to float, such as by using the motion of the tracks, or specificpropellers, or jets.

Today, flying drones are commonly controlled by humans via remotecontrol through a wireless link. There is typically a 1:1 ratio ofoperator to drone as mandated by current FAA regulations. Small UAV(sUAV) are regulated by various Federal aviation authority (FAA)regulations with Part 107 (and successors) being the most common usedfor commercial operations regulate the piloting of drones. As specifiedin Part 107, sUAVs are classified as those UAVs having a weight of lessthan 55 lbs. (25 kgs).

A drone's typical operation focused on some common applications, asdetailed below.

One application of a drone may include surveying. Surveying may relateto capturing images of buildings, homes, factories, facilities,agricultural fields, public spaces, or other geographical locations.VTOL devices are commonly used for surveying because VTOL devices aretypically smaller and less expensive than manned aircraft and can obtainimages having more features. Surveys are generally designed for precisephysical measurements to provide a long-term measurement of structures,such as buildings or fields. Surveying is generally infrequentlyperformed and added to archives, for example to record an exact“as-built” structure versus what is in design documents.

Another application of a drone may include inspecting or performinginspections. Structures like bridges, industrial plants, commercialbuildings, towers, wind turbines, solar plants, or roofs need regularinspection to ensure they are working properly and not subject tofailure. Each structure has specific needs for inspections. For example,inspection of bridges may include determining whether a given bridge hasany cracks or failures in its structures or to detect an amount of rustpresent. With industrial plants, inspections include both determiningwhether unusual noises and smoke and steam that is not normal arepresent. And with commercial buildings, inspections may includedetermining whether the building has any cracks, leaks, or standingwater, or other potential abnormal characteristics. Finally, cell towersand radio towers may require other specialized inspection. For example,there are many specific requirements for different industrial structuresthat require a general system for identifying specific assets and alsoflight planning differs dramatically for these different structures.

Another application of a drone may include reconstructingthree-dimensional (3D) models, Digital Twins, or 4D Reconstruction. 4D,as described herein, refers to a three dimensional model with a timevarying component showing visual and structural changes as a function oftime. With enough images, a 3-D model of a site can be built through thetechniques of photogrammetry. Long term, a “time-stamped digital twin”of at first single sites and in the limit the entire planet can beconstructed to determine what is happening at any location at any giventime. This is process is generally referred to as performing a 4Dreconstruction.

Still another application of a drone may include security andmonitoring. Flying drones, in particular, are well suited to performroving security where having a large number of fixed cameras is tooexpensive or impractical. These roving patrols allow security for largepipelines, large industrial assets, or other locations.

Still another application of a drone may include photography. Thephotography may include capturing of images for sale or lease, or forfilm and images. For example, drones may be used to capture images ofproperty to be sold or exhibited. As another example, drones may be usedfor capturing images and/or video for artistic purposes.

Yet another application of a drone is delivery of items. Short and longrange delivery may be performed via fixed wing drones.

Yet still another application of a drone is drone taxing. Companies mayuse drones to taxi humans or other living creatures from location tolocation.

SUMMARY OF PARTICULAR EMBODIMENTS

According to various embodiment, systems and methods can improvewireless communication for a drone swarm by, at a computing system,receiving, from a plurality of drones of a drone swarm, data comprisingradio frequency signal characteristics detected by the plurality ofdrones; generating a model of a radio frequency environment for thedrone swarm based on the data received from the plurality of drones; andcontrolling at least one wireless communication system to improvewireless communication for the drone swarm based on the model of theradio frequency environment.

The embodiments disclosed above are only examples, and the scope of thisdisclosure is not limited to them. Particular embodiments may includeall, some, or none of the components, elements, features, functions,operations, or steps of the embodiments disclosed above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative diagram of drone RAID types, in accordancewith various embodiments.

FIG. 2 is an illustrative diagram of drone RAID hardware and softwarearchitecture, in accordance with various embodiments.

FIG. 3 is an illustrative diagram of an example drone applicationworkflow, in accordance with various embodiments.

FIG. 4 is an illustrative schematic of the cycle of innovation over thelast 40 years, in accordance with various embodiments.

FIG. 5 is an illustrative diagram describing how a drone can becontrolled, in accordance with various embodiments.

FIG. 6 is a schematic diagram of a drone, in accordance with variousembodiments.

FIG. 7 is an illustrative diagram of an example hive architecture, inaccordance with various embodiments.

FIG. 8A is an illustrative diagram of an overall system including one ormore drone pods, in accordance with various embodiments.

FIG. 8B is an illustrative diagram of an overview of the system, inaccordance with various embodiments.

FIG. 9 is a schematic diagram of drone software architecture, inaccordance with various embodiments.

FIG. 10 is a schematic diagram of a hive software architecture, inaccordance with various embodiments.

FIG. 11 is a schematic diagram of a cloud software architecture, inaccordance with various embodiments.

FIG. 12 is a schematic diagram of an example workflow, in accordancewith various embodiments.

FIG. 13 illustrates an example computer system.

DETAILED DESCRIPTION

Systems and methods described herein include intelligent, autonomousmobile docking stations, also known as base stations or hives,accompanied by swarms of autonomous drones, all carrying radio frequency(RF) modems capable of sending and receiving RF signals within theallowable radio bands. The mobile base station(s) may be coordinated bya highly secured, cloud based server, and communicate via encryptedradio links to the drone swarm(s). As described herein, a centralcommand system refers to a hive or a cloud, and may be usedinterchangeably.

In order for drone operations to properly scale beyond the current “onepilot per drone” scenario, drone operations need to be capable of fullyautonomous mission operations, allowing for remote monitoring andcontrol by humans as optional. This requires drones to be housed inremote docking stations, and although solutions exist where a singledrone is housed in a statically located docking station, there currentlyis no solution for mobile docking stations capable of housing droneswarms.

A benefit of having drone swarms, with RF sensing capabilities onboard,is that these systems can be used to map the RF spectrum in any city orurban environment. This RF map can then be used to both highlightweaknesses in RF coverage, and also to augment and extend existing RFtransmission stations by strengthening the weaker RF areas.

Drone-Optimized Local Area Networking: dLAN

Conventional WiFi and point-to-point radio communications are often notadequate for real-time information transfer of 100s, if not 1000s, ofdrones. However, unlike conventional fixed or mobile networks, dronesthemselves according to the principles described herein are configuredto monitor the actual radio frequency environment. This may provide oneor more of the following capabilities:

Real-time RF Environment Assessment: As drones fly normally, theycorrelate their exact position and bearing as well as the relativeposition of their antennas. This is relayed back to the intelligent basestation.

Real-time RF Environment Model: The intelligent Base Stations can usethat information along with a machine-learned model based on the pastflights, similar flights and current weather and other conditions topredict which specific 3D locations will have RF performance at whatfrequency.

Since drone paths are not random, the intelligent base station optimizercan plan flights taking into account not just the mission, but also thedata requirements. For example, drones may gather high resolution videodata and cache them in their onboard storage and then when they fly intoa zone, the timing of the other drones communications can be optimizedso that at all times, drones do not contend with each other.

The drones can maneuver and the antennas in the base station can beelectronically steered, so the entire system of N drones and P basestations can be optimized. For example in a 8×8 stream with multi-usermulti-input multi-output (MU-MIMO), at all times, all 8 spatial streamscan be used and the drones can fly into low noise high performancevirtual “hotspots” in the physical world.

Communications scheduling and optimization: The system can pre-optimizethis given the predicted paths the drones are going to follow. So,communications availability and drone onboard storage can be parametersto the path plan. For instance, if a drone needs to survey a “dead spot”behind a building, the mission planner can calculate the storagerequired and “schedule” a hot spot location and change the number ofspatial streams available to do a fast download. Alternatively, thesystem may determine that a “communications” drone needs to act as amesh point if the onboard storage is not sufficient and real-timecontrol is needed.

Layered Network for Ultra Low Power and High Density

When there are thousands of drones in a single area, even with MU-MIMOtechniques to create small cells, conventional systems may rapidly beoverwhelmed. In data centers, the solution is to create a hierarchy ofconnections with leaf networks being small and very local. Systems andmethods described herein may use different frequencies and differentradio technologies for different levels of the hierarchy.

Frequencies may be allocated for very short range and low power. Fordrones with short range radio technologies, spatially local clusters canbe utilized. The “leaf” nodes of the hierarchy (which may correspond tothe physically tiniest drones and/or the drones with the lowest powerradios) can have their flight paths planned such that they stayspatially clustered. This may enable a low power and short range radiotechnology to be used by the drones of that cluster. Neighboringclusters of other drones can use different frequencies than that oftheir neighbors to minimize radio interference between clusters.Frequencies can be allocated to clusters using a map coloring algorithmto minimize interference. Clusters of drones (e.g., tiny, ultra-cheapdrones) using very low power and short range radio technology may thencommunicate with one or more drones with a higher power communicationsystem (for example, a larger and more expensive parent drone) that maybe assigned to that cluster and co-located within short range of thatcluster. The assigned drone may have higher power and longer range radiotechnology to communicate with it's peers (or next level up parentdrone, or the base station). This scheme can be repeated for severallevels. This hierarchical network may benefit the most when peer-to-peercommunication occurs between leaves within a cluster (or between peersat any particular level). For example, $10 drones (leaves) may shareposition/obstacle data between themselves peer-to-peer to help discoverthe local environment and may communicate survey data, such as images toa drone with higher power communication technology for transmitting toone or more base stations, either directly or via one or more additionaldrones. Communication within a level of the hierarchy can reduce upwardbandwidth requirements. Additionally or alternatively, this kind oflayered network may be used as an intelligent repeater to extendexisting wireless communications networks.

Intelligent Backhaul

Backhaul is has conventionally been thought of a static system withfixed bandwidths. In contrast, because systems described herein caninclude base stations that are autonomous, the systems can:

Determine the overall bandwidth requirements for a given mission andcalculate what bandwidth is required. Then, determine the best methodfor fulfilling this. In the simplest case, a single base station maycache the information. Since these are typically larger systems, theywill have more battery and more storage. However, if the data is verylarge or real-time data is needed, the base station can deploy multiplebackhaul technologies. For instance, it may deploy both a satelliteInternet link and terrestrial links via mobile phone operators. If thisis not adequate, then a “bucket brigade” of base stations may beemployed, such that data is transmitted from one base station to thenext until reaching a base station that can transmit data to the cloud(and vice versa to the drone swarm(s)). Base stations may construct aspanning tree of connections. For example, three trucks could bedeployed one to a site and then two could act as relays for the data.This could improve throughput and also provide redundancy through aRedundant Array of Inexpensive Drone Trucks (tRAID).

In many cases there will be high speed fiber connections that could bemany kilometers away in which case this truck backhaul system couldfunction as temporary “cell towers” for not just drone communicationsbut general communications carriage to establish a temporary Wifinetwork or 5G array for other computers and mobile devices

Various embodiments of the systems and methods described herein mayprovide one or more of the following advantages. The basic unit foraccomplishing surveying or other missions is not a single complex drone,but a pod or swarm of simpler lightweight drones that orchestratetogether as one to perform a mission rather than following a series ofwaypoints. This can reduce regulatory hurdles since lighter drones haveless kinetic energy and improves reliability, because if a drone fails,the others can take over. Instead of using a single camera, a drone podcan use multiple cameras on multiple drones to take imagessimultaneously. This can allow much faster interpolation and higheraccuracy than conventional techniques. There can be multiple pods doingdifferent tasks. There can be a pod of imaging drones, a pod of lightingdrones to eliminate shadows and a pod of communication relay drones ifthe LAN or WAN coverage is poor.

According to various aspects, the system may be configured such that thelocal communication is not point-to-point but a dynamic 3D local areanetwork. The drones and base station(s) can constantly recompute the RFenvironment, mapping hot spots and measuring the communications needs.Nodes (drones and/or base stations) can automatically move to locationsas needed to maximize bandwidth or otherwise improve the communicationscapability of the system. This can enable smaller drones to be usedwherein larger more, complex ones would have otherwise been required.

In some embodiments, drones can enter a “perch mode.” For example, asillustrated in FIG. 2 , one or more drones can enter a low power state(such as by landing 201 on a building or other structure or the ground)in which the drone(s) wait for hive instruction 203. While waiting, thedrone(s) can be used to extend 202 the wireless network. A user canconnect 204 to a wireless network provided by the drone system and canhave stable wireless communication and internet access (see), both viatraditional cloud Internet service providers as well as satellite basedinternet providers .

According to various aspects, computing associated with completing amission is not just done in individual drones but in local computeclusters in the base stations. This moves heavy and power-hungry machinelearning and 3D world modeling away from the drones. The overall systemcan be much more capable with compute on the ground and sensing in thedrones. Multiple hives can work together creating a large-scale localcompute cluster with high-speed communications to many drones. Insteadof putting GPS receivers on drones, they are placed on the ground andcan use RTK GPS or other positioning in combination with the visualposition so that each drone can precisely position itself. This localcompute may be connected to the highest communications tier with a 3Dwide area network. The base stations may constantly map the radiofrequencies and bandwidth available to them and can reposition basestations to better locations to ensure high bandwidth to the cloudsystems. The cloud computing environment can be much more closelyintegrated with the remote hardware at the mission site. This may allowdirect processing of real-time data and may enable real-timecollaboration while the drones are in flight, which can significantlyshorten the time to analyze problems in the field.

According to various aspects, the on-drone systems are containerized anduse standard IP protocols. Software running on the drone canautomatically migrate from the hive to a drone or from one drone toanother. (See FIG. 9, 9320, 9330 , for drone modules that can be movedto either the cloud or the hive). They are a general compute node ratherthan specialized flight software. FIG. 11 shows some examples of modulesthat can move from the hive to the cloud (11220, 11310 m 11310, 11220 m11310, 11230)

Uniform programming models can exist across the drone, hive and cloud sothat a single development effort can apply to any of the hardwareenvironments and it enables much simpler simulation and testing.

Drones can be programmed with intentions rather than waypoints andprocedures. The fundamental unit of work is a set of points to beimaged. This separates the actual path planning details from the pointsthat must be imaged and allows automatic failover and replacement asneeded.

This intent mechanism extends to RF spectrum scanning. The user providesan intent based instruction to map and extend the immediate RF spectrum.The swarm then deploys, scans the area, determines the weakest RF areasand sends either hives or drones to the designated area in order toextend the RF zones where wireless signals are weakest.

Autonomous Mobile Base Stations (Hives or Trucks)

Ground stations have traditionally been either a simple launch pad or acontrol station for manual control. Various embodiments can includeintelligent mobile base stations (see FIG. 8 ). One or more basestations can include electrified vehicles that include a level ofautonomy. The system can automatically deploy one or more mobile basestations that can manage a dRAID and can include advanced compute powerand high performance local wireless transmission as well as connectionto long-haul networks.

The base station can include both charging and recharging for thedrones, which may be achieved through a physical structure thatpositions the charging probes appropriately or with wireless charging(see FIG. 7 ). Since the drone array can be large and the drones cheap(unlike conventional systems that use more complex drones), the systemsdescribed herein can be configured for the drones to have relativelyslow and inexpensive charging systems and short flight times. This canprovide the advantage of not requiring batteries that are large and,thereby, cheaper.

The base station may also include a large computing infrastructure withexpandable storage, GPU and Neural Processing Units, which may greatlyexceed the payload capacity of small (e.g., sub 1 kg) drones (FIG. 7 ,see 7100). This may allow the base station to be the main or primarycomputing unit or node, and the drones of the drone swarm can belightweight and inexpensive.

The base station may also include communications capability thatincludes a large antenna array for dLAN and/or a large high performancearray for backhaul (i.e. backhaul to the cloud). Because the mobile basestation may be a large vehicle (e.g. truck, ship, submarine, aircraftcarrier, bus), it can support high degrees of multi-user multiple inputmultiple output (MU-MIMO). Conventional systems often support 8×8simultaneous streams to up to eight different devices. In contrast,various embodiments may be configured to support 64×64 or even 256×256.

One or more base stations can be mobile (e.g., see FIG. 7100 ) and/orone or more base stations can be mounted in fixed locations. Cell towerscan be configured as base stations as they have high-speed fiberbackhaul, backup generators and copious power. When dRAIDs are needed torapidly deploy, they may have a “home” fixed base station and may “hop”between fixed and mobile stations to reach their destination quickly. Inthis way, the system can optimize and call on resources from a widevariety of locations depending on needs.

The mobile base stations themselves can be arrayed in a network (seeFIG. 1 ). For example, two trucks could deploy their drones (orrespective drone swarms) and then form a “bucket brigade” of high speedcommunications from a remote site to a distant fiber connection bysimply driving to intermediate points and acting as relay stations. Thesystem may use communications drones RAID arrays to provide overheadcommunications as needed based on the real-time RF environment modelthat can be created and continually updated via drone RF environmentsensing.

Particular embodiments disclosed herein may be implemented using one ormore example architectures. An example of the high-level logical systemarchitecture is shown by FIG. 8 , with a somewhat more detailed viewgiven by FIG. 1 . The system can include one or more drone pods (101-1,101-2), drone LAN 1061 (wireless network enabled by the onboard wirelessmodem), hives (autonomous base stations) 107-1, 107-2, a WAN (wide areanetwork) 108 connecting the hives to the Internet for connecting thehives to scalable compute 109, storage 110 and networking services 111capable of scaling up and down based on system resource needs.

Particular embodiments disclosed herein may be implemented using one ormore example processes. An example of the overall system workflow 300 isillustrated in FIG. 3 .

At step 301, the system (e.g., one or more base stations, one or moredrone pods, etc.) deploys to a target site. At step 302, the drone(s)execute the mission and, while doing so, measures the RF spectrum intheir immediate vicinity. The RF measurements with positionalinformation are transmitted to the one or more base stations. At step303, an RF model is created or updated, based on the data from thedrones, that maps the RF spectrum of the target site as a function ofsignal strength.

At step 305, a determination can be made whether one or more RF blindspots (areas of weak wireless signal power) are detected. If one or moreblind spots is detected, the system can send a base station to the blindspot at step 307 and/or may send one or more drones to the blind spot atstep 308. For example, the system may determine whether the blind spotis accessible by a base station and, if it is, a base station may bedeployed to the location, but if it is not, one or more drones may bedeployed to the location.

Deployed drone(s) may relay existing RF signals and boost the RF signalstrength at the blind spot at step 309. As such, surveying drones in thevicinity of the blind spot can have increased communication capabilitywith each other and/or with a base station. Additionally oralternatively, a deployed base station may boost the RF signal strengthat the blind spot at step 310.

Steps 302 and on are repeated as new RF scanning information is receivedfrom drones and the RF model is updated accordingly. Thus, the RFenvironment for completing a mission can be dynamically reconfigured asthe mission is being completed.

Particular embodiments may repeat one or more steps of the exampleprocess(es), where appropriate. Although this disclosure describes andillustrates particular steps of the example process(es) as occurring ina particular order, this disclosure contemplates any suitable steps ofthe example process(es) occurring in any suitable order. Moreover,although this disclosure describes and illustrates an example process,this disclosure contemplates any suitable process including any suitablesteps, which may include all, some, or none of the steps of the exampleprocess(es), where appropriate. Furthermore, although this disclosuredescribes and illustrates particular components, devices, or systemscarrying out particular steps of the example process(es), thisdisclosure contemplates any suitable combination of any suitablecomponents, devices, or systems carrying out any suitable steps of theexample process(es).

Particular embodiments disclosed herein may be implemented in relationto different example use cases. Any system that incorporates a mobile RFmodem with a compute resource (such as a smartphone) can accomplish theworkflow described. Exemplary use cases can include any use case where ahighly automated or fully autonomous system is capable of scanning theRF spectrum in 3D and automatically positioning repeater nodes (e.g.,base stations and/or drones) to strengthen and extend the wirelessnetwork.

Underlying foundational concepts and terms of art relied upon may relateto one or more of the following. Technologies supporting this inventionmay include, but are not limited to UAVs, SLAM, robotics, computationalgeometry, computer vision techniques, cloud computing, Kubernetes andother orchestration systems, Android architecture, mesh networking,MU-MIMO and network techniques, 5G networking and WiFi, redundant arraytechnology such as used in RAID for storage, No-code technologies,browser based and web technologies, 3D object reconstruction andmodeling, GIS databases and building information systems. Machinelearning and artificial intelligence techniques include neural networks,Neural Radiance Fields.

Some of the issues faced by drones today include them being expensiveand being manually operated (or programmed), and thus completing theirmission(s) takes increased amounts of time. As an example, today thereare approximately 300,000 Part 107 FAA certified drone pilots and atypical flying drone mission takes 1-5 days to a) plan the mission(s),b) actually flying the paths required, c) integrating the capturedimages into a 3D model and cleaning the artifacts, d) preparing the 3Dmodels for use and/or sale, and e) ensuring that the appropriateregulatory and privacy rules were followed in taking the images. Some ofthe main problems faced today across the entire workflow of flyingdrones to gather images are that each stage is slow and requiressignificant manual intervention—this significantly limits the volume andquality of imaging that can be done today.

As mentioned above, problems with current drone hardware architecturesresults in drones that are complex in design/fabrication/operations, andthat are navigation and error-prone. As an example, as seen withreference to FIG. 5 , system 500 depicts traditional control of a drone510. Although a single instance of drone 510 is included within FIG. 5 ,multiple instances of drone 510 may be included within system 500. Forsimplicity, a single instance of drone 510 is depicted. Drone 510 mayinclude a receiver 512 to communicate a radio link 550 to an operator531 via a manual controller 520. Drone 510 may also include a videotransmitter 514 to facilitate a low-resolution video downlink 540 to adisplay device 530. When drone 510 lands, a storage device may beremoved or may be connected to a laptop to download data, such as highresolution sensor data, for further processing. For positioning, aglobal positioning system (GPS) may be used along with one or morecameras for imaging and obstacle detection.

Drones are relatively expensive costing $3-100K for typical enterprisedrones. They are typically deployed in small numbers due to the cost andthe need to manually control each drone. Furthermore, because there arerelatively few drones, they typically need to have a wide variety ofsensors and be general purpose in nature.

Drones have to carry everything they need. Drones carry all the sensorsneeded for their operations, as well as compute and storage devices tolocate and navigate through their environment. Drones are limited withrespect to how much hardware computation they can perform based on theamount of compute and storage devices they can carry, and thus move withlimited power available. As an example, a typical smaller drone mayweight 900 g, may have a flight time of 30 minutes, and need 100 W ofpower to stay in flight. The limited power budget means that a dronecannot carry a 1 kg GPU system that draws 250-500 W, for example, so fordrone-borne systems there are significant computational limitations thatground-based systems do not have.

As a result, given the power and weight limitations, a drone'scomputational hardware is very limited and cannot run the most advancedartificial intelligence (AI) and other processing. The small size alsorequires more skill for programmers to write software for use with thedrone and results in difficulty in testing and validating the software.Furthermore, when more capability is needed, the drones get heavier andmore power hungry. If more AI is needed to recognize objects, a biggerprocessor is needed. If more detailed scans are needed, a heavier,bigger camera is used. A scan, which may be referred to hereininterchangeably as a site scan or survey, as described herein, refers toa drone that moves in controlled manner through a 3D environment and,using a collection of red, green, blue (RGB), RF, LIDAR, ultrasonic andacoustic sensors, maps out the area in 3D space, contextually placingdetected objects in the 3D scene. And more weight means more power andtherefore bigger motors, more batteries, or other fuel. As weightincreases, drones have more kinetic energy and have more and higherrotor velocity. If a longer mission time is required, the drones have tocarry heavier batteries, which creates a negative cycle where heavierdrones actually need more battery and have less flight time. Finally,because these single drones have to run standalone, they need to carrysignificant compute power for object recognition and must be capable ofcomplete operation including return-to-home and other failure systems toprevent large heavy drones from damaging property.

Drones may rely on global positioning satellite (GPS) for positioning.In some embodiments, drone 510 may use GPS for position or for anoptical flow to maintain position. In some embodiments, drone 510 mayinclude an inertial measurement unit (IMU) and a compass to providedirection. The use of GPS makes drones difficult to use in GPS-deniedareas, such as close to buildings or inside buildings. As a result, mostdrones have to fly far from imaging targets, which increases theirweight and computational requirements for the sensor systems.

Drone communications are generally local, subject to interference,point-to-point and relatively slow. Drones today are commonly controlledby specific radio links, do not share or communicate with each other,and use traditional wireless technology. If too many drones are used inthe same area, there may not be enough communication channels to sendcontrol signals or to achieve telemetry or video from them. Dronecommunications today are also synchronous (real-time) and must bereliable. In order to operate a large number of drones in variousconditions, there needs to be a large number of frequencies available toprevent interference and communications can be lost if a drone losesline-of-sight to the controllers. Drones may also use satellite orcellular communications, but this requires large and power intensivetransmitters to maintain signals.

Drones are generally not very fault tolerant. For instance, whendeployed, if the drone has an issue, such as a failed motor, a faultwith a camera, or a lower than typically expected charge, the drone willhave to be recalled, a new drone found, and the mission re-run. If abackup drone is not available, the entire mission may be scrubbed andrescheduling of operators and others may be required. Formission-critical procedures, this can be life threatening if a missionis not run on time. Even if there are multiple drones available, losinga drone can require manual re-planning of the mission to take over theparts of the mission that cannot be performed. Further still, if thereare on-site operators involved, it can require communications betweenthem, losing mission time as they work with each other to re-plan themission manually.

Problems further exist with respect to drone software systems, as theymay be limited software deployed at the edge, be non-uniform,procedural, and not AI-ready. The edge refers to computing devicesplaced between the system and the remote cloud, also often referred toas a local cloud solution. A local cloud refers to a dedicated cloudservice that is managed by a third party and runs on-premises. A localcloud includes provisioning of physical infrastructure, software andfull lifecycle management by the third party service provider. Edgecomputing is a distributed computing paradigm that brings computationand data storage closer to the sources of data. Drone programming todayis very difficult because of hardware limitations listed above and todate most of the effort has been focused on flight control, keeping thedrones flying and managing their limited power.

The limited software available at the edge means that it can be timeconsuming to write applications for drones, and the most advancedalgorithms (e.g., which today may include artificial intelligence (AI)methods) generally require large amounts of processing power andstorage, and can therefore not “fit” onto a drone. This results in lessaccurate and more error prone methods having to be used. Therefore,instead of modern software, more traditional and error prone proceduralprogramming techniques are used to fit the hardware constraints, andthese techniques fail to solve complex multivariable problems typicallyencountered in computer vision.

The non-uniform programming and procedural focus refers to theprogramming environment on a drone is radically different fromprogramming of base stations and cloud computing systems. Thus, it canbe difficult to move software between the hardware of the drone andother elements of the system, such as system 200. They do not offer asingle uniform compute environment that allows moving software buildingblocks to the best place for speed and reliability.

The non-uniform user interface means that systems having dedicatedplanning software which runs on a PC for planning, software that runs ona smartphone for piloting, and then separate cloud software run througha browser significantly complicates the user experience and makes itdifficult to maintain the software. Additionally, simulating and testingsuch a complex environment can be extremely challenging.

With respect to the drones not being vision-first and being 3D mappingfocused, drones may operate in environments where GPS does not work andfor processing reasons, the internal representations are primarily 2D.For example, because of limited compute resources inside drones, a full3D representation is hard to manage inside a drone and the large-scalerequirements needed for full vision means that simplistic systems areused for object detection, object recognition, and 3D world navigation.

Current drones also may have workflow application problems, such as notbeing integrated, being 2D, being GPS dependent, and performing batchprocessing. Drones have followed the traditional flight model taken frommanned aviation. With modern systems, an operator has to manage manycomplex tasks, from de-conflicting flights and monitoring battery statusto stepping through a series of image processing steps and working withvery different hardware in the drone, base station and cloud. Modernsystems treat each task as a different software stack that must belearned and then the operator may hand integrates them to make thesystem work.

Another issue faced by modern drones is that they generally plan withwaypoints using 2D maps. Today, flight planning is done with satelliteimagery and uses a series of waypoints with instructions to the drone interms of its mission. Waypoints rely on GPS information are can beunreliable at close distances as GPS is not reliable. Obtaining optimalreliability requires heavy, power consuming, and expensive additions,such as GPS real-time kinematics (RTK), which can still fail in urbanareas where multipath reflections are prominent. RTKs refer to a GPSreceive capable of performing “real-time kinematics,” whereby normalsignals received from current global navigation satellite systems (GNSS)along with a correction stream to achieve positional accuracy (e.g.,less than 10 cm accuracy, 1 cm accuracy, 0.1 cm accuracy, or otheraccuracy measurement errors). Due to the inherent limitations of currentGNSS technology, operators often perform manual missions and have tofrequently take over manual control during automated missions, makingthese missions impractical and unsafe. In addition, mission planningdoes not take into account atmospheric effects and lighting conditions,all which influences imaging quality, including, but not limited to,which is not to suggest that other lists are limiting, shadows,obstructions, fog, or glare.

Modern drones may also have piloting problems. As human operatorsoversee operations, there is a limited in number of drones they can fly(typically 1:1 ratio is required for operators). Many of the stepsrequire manual intervention, such as checking and planning made awayfrom the site do not take into account the actual weather, shadows, andother problems that are present requiring manual intervention by droneoperators. During imaging missions, low-resolution images are return inreal time and the success of a mission may be determined after thehigh-resolution data is brought back and the data is downloaded orphysically extracted from the drone

Modern drones may also process data slowly and not in real-time. Duringmissions, it may not be clear if the sensors are capturing the correctdata. The time to convert images into usable data, such as 3D data, andthe size of that data may mean it takes time (e.g., on the order of daysor weeks) to prepare the resulting images for output and properconversion. Additionally, the data for a single simple structure canrequire over 200 GB or 30 million data points, which is difficult tostore and manage in the field while a drone is operating. This meansthat missions must be re-flown if the capture is inadequate or ifadditional data is required. Having a real-time means to examine the 3Dstructure would dramatically increase productivity.

There may also be mission-level small-scale operation problems, such aswith accuracy, speed, cost, and dependability. For instance, theaccuracy of the drone may be hindered because sensing processing is doneafter the fact. Processing is batch oriented after a mission has beencompleted and the results known. Therefore problems are missed orrescans are required. Additionally, because drones use generally use GPSfor location, they need to fly high above structures to ensure goodsatellite contact, which reduces image accuracy or requires much higherquality sensors.

Speed and cost can also be problematic with the small scale of anoperator coming to a single site to scan with a typically a singledrone. Due to the operator using manual control of individual drones, atypical scan of a building can take hours to fly and then days toprocess the resulting sensor data. Modern drones are not suitable forscanning major buildings in minutes and many applications (such ascontinuous 24/7 scanning) are impractical.

Modern drones also have dependability issues, such as reliability,availability, maintainability, and safety. As drones are few in number,expensive, and have many sensors, there are many failure points that cancause a mission to be scrubbed. At the software level, scans are openloop systems without real-time feedback, where after a survey iscompleted it can be determined whether the imaging was properly done,and then the entire mission has to be rerun further reducingreliability. With a small number of complex drones, if a drone goesdown, then the entire mission may be scrubbed. This drives expensesbecause multiple redundant systems are required. For instance,increasing the number of motors in a quad-copter to a hexa-copter makesthe drone more robust to mechanical failure. More complex drones alsohave more parts, which means more parts that can fail, particularly inthe harsh outdoor conditions. Furthermore, safety (and/or regulatory)issues can arise as heavier drones inherently have more kinetic energyand typically higher terminal velocities. As an example with currentFederal Aviation Authority (FAA) regulations, Category 1 drones, whichare less than 250 g or not regulated at all and a Category 2 drone musthave less than 12 foot-pounds of energy when it strikes something. Ittakes one second of free fall for a typical 0.9 kg drone to reach 20 mphwhich equates to 12 foot pounds limit for the FAA, so even small dronescan be dangerous. Heavier drones are more capable, but since they caneasily weight 10-20 kg and a crash would be a very significant event.Drones are regulated as they are moving in the real-world. Ensuringcompliance for both vehicles and operators is very important. In somecases, the vehicles may be electric vehicles (EV), which includeterrestrial, aquatic, submersible, or airborne vehicles. Oftentimessimply making a drone very light or small will simplify regulations asdoes limiting whether a drone is beyond of visual line of sight (BVLOS)

Problems may also exist with modern drones in terms of fleet-widelarge-scale operation problems, such as with scalability,interoperability, and security. Manual control and operation do notscale. The United States has over 5.6 million commercial buildings, 10million industrial, 1 million public buildings, 2.3 million multifamily,91 million single family homes, and 900 thousand bridges. These 100M+structures need between 1-12 surveys every year. However, in the UStoday, there are 300 thousand operators, and automation must increasesignificantly to support the requirements for all these structures. Toscale to planes, large improvements to enable a large-scale systems areneeded.

In terms scalability, the ability to control thousands or even millionsof drones requires continuous imaging of the world in near real-time.Modern systems require far too many operators to make this possible.This scale level is limited because of testability and manageabilityproblems. Testability problems and whole system simulation problemsrefer to large scale systems with drones that are difficult tocontinuously integrate and to continuously deliver (CD/CI) to ensure theentire system works properly. Current systems lack a general simulationenvironment for all parts of the system from edge to cloud. In terms ofmanageability, a single drone is relatively easy to track, but knowingthe status of millions of drones, as well as handling logging and otherevents is difficult with current systems. In addition to the corescaling issues, modern drone systems are designed as standalone systemsthat typically have issues with interoperability and integration. Forinstance, many drone systems do not work with other hardware andexisting drones so an upgrade requires many hardware changes.Furthermore, because each drone runs separately without broadbandcommunications with respect to the rest of an enterprise, they work inbatch mode. The drones do not directly integrate in real-time withenterprise databases or virtual communications systems. Further still,bad actors are a constant part of drone operations and current systemshave security holes and lack privacy. For instance, most drone systemsuse proprietary protocols, and thus it can be is difficult to assess howsecure they are and whether they have flaws that can be exploited.Losing control of drones or any part of the system would havesignificant impacts as these drones could be repurposed for maliciousacts. Furthermore, when data is captured, it belongs to a single entityand it is difficult to share the information. There is no generalmarketplace or way to reuse survey information or even to determine whatsurveys and information has already been collected. Moreover, most dronetoday works as an “island” and do not share information and cooperate ina dynamic way. Drones that could cooperate would work faster and moreaccurately, thereby overcoming the aforementioned technical problems. Interms of privacy, drones can be intrusive and the ability to collectsurveillance data from drones magnifies these problems even more. Moderndrone system do not provide for systems that will prevent unlawfulsensing from taking place or for locking of information so that onlythose with the right to see data can access it, or for preventing thataccess.

As with PCs, smartphones, and IoT, a dramatic cost reduction in dronesis happening, which can change the way drones are used. A system thatworks for a $5,000 drone is very different from a system that uses$5-500 drones. A system that relies on a small companion computer isvery different from a system with 10× more compute per drone and100-1000× more computation in closely connected hives. This system mayemploy a multi-tier vision-focused hardware architecture that runsdistributed software systems that enables integrated real-timeapplication workflow dramatically improving the accuracy, speed, andcost of drone missions and scales to thousands and even millions ofnetworked drones working together.

FIG. 6 describes an example of a drone 600, in accordance with variousembodiments. In some embodiments, drone 600 may be the same or similarto drone 500. The local communications network architecture of drone 600may be a 3D dynamic local area network, instead of a staticpoint-to-point network. A plurality of drones, such as multipleinstances of drone 600, may act as nodes within the dynamic 3D wirelessnetwork to constantly communicate and map the radio frequency (RF)environment, dynamically creating an RF spectrum map used to optimizethe flight trajectories to find the most efficient balance betweenflight time, network coverage, bandwidth, and communication latency.

Computing capability is performed on a base station, which is alsoreferred to herein interchangeably as a hive, to augment drones. A hive,as defined herein, refers to a physical structure (stationary or mobile)providing processing, communication, and storage capabilities for datagathered by a variety of sensors, including, but not limited to drones,smart phones, wearables, and ground based sensors. Doing so moves heavyand power-hungry machine learning and 3D world modeling away fromdrones. In some embodiments, multiple hives may work together to createa large-scale local computing cluster with high speed communications tomany drones. Furthermore, instead of putting GPS receivers on drones,some embodiments may include placing GPS receivers on the ground and mayuse RTK GPS or other positioning in combination with visual position sothat each drone can precisely position itself. In some embodiments,local compute may connect to the highest tier with a 3D wide areanetwork. Hives may constantly map the radio frequencies and bandwidthavailable to them and can reposition hives to better locations toprovide high bandwidth to the cloud systems. In some embodiments, thecloud computing environment may be more closely integrated with theremote hardware at the mission site. This allows direct processing ofreal-time data and enables real-time collaboration while drones are inflight, thereby significantly shortening the time to analyze problems inthe field.

In some embodiments, hardware architecture implemented by the dronesystems described herein may dramatically increases AI-computation bydistributing it properly across drones, mobile hives, and the cloud. Thehardware may be “vision-first” because cameras are extremely low costand when mated with advanced AI provide high accuracy even in GPS-deniedareas. This can allow for closer imaging in unique areas with low-costhardware. Some embodiments include the drone's design focuses on beingultra-lightweight. For instance, drone 300 can be single purpose ratherthan multi-purpose (although in some cases, a given drone may have two(or more) purposes). Flight time becomes a trade-off with size and moredrone computation capabilities (e.g., ten times that of conventionalsystems) can make for shorter flights by having many more drones. Forexample, a single drone with a 30 minute mission time may be replacedwith 10 smaller drones with a 6 minute flight time and 10× more computepower in motion. Such a system would have (10 drones×6 minutes) 60minutes of effect flight time and 100 times (10 drones×10× faster) thecomputation in motion. Within a single drone, the real-timemission-critical flight controls may be isolated into a separateprocessor that may have a security gateway processor connected with ageneral-purpose computer. This isolates flight control and allows a richenvironment for path planning, obstacle detection, and other programsthat run above the low-level flight control.

The hardware architecture of the drone system described herein may use alarge network (e.g., 10 or more, 1,000 or more, 100,000 or more,1,000,000 or more, etc.) of small lightweight drones with separation ofconcerns that improve reliability and simplicity of programming. At thelowest level, instead of individual complex drones, the system may useinexpensive, single-purpose drones that are simpler and low-cost.

To make these light drones as reliable and capable as larger systems,the drones may work together in a redundant array inexpensive drones(Drone RAID or “dRAID”) so that if a drone fails, another drone canautomatically take its place. A RAID refers to a data storagevirtualization technology that combines multiple physical disk drivecomponents into one or more logical units for the purposes of dataredundancy, performance improvement, or both. These drone arrays may befurther cost reduced by being specialized in function. Some embodimentsmay include some drones carrying one component and other drones carryinganother different component. For example, some drones may carry cameraswhile other drones may carry lights or communication relays. This allowsmulti-function missions without the weight and cost of a largemulti-purpose drone, for example one that would carry cameras, lights,and communication relays. Missions generally may be performed byindividual drones or a novel concept of a drone array. This logicallayer makes it much easier to design planning systems. Instead ofplanning the routes of large quantities (e.g., 1 or more, 1,000 or more,100,000 or more, 1,000,000 or more, etc.) of drones in a singleoptimizer, the system may provide redundancy at the virtual hardwarelevel with dRAID and then plan missions treating a set of drones in adRAID as a logical whole assuming fault tolerance is high in the array.

The use of drone arrays enables a hierarchy of virtualization from dronearrays to drone Kubernetes to drone no-code. In this hierarchy, dRAIDsmay be assigned units of work such as scanning a specific object,providing a uniform lighting of an object, or providing a communicationsnetwork. Therefore, the system may be split into several parts that aremuch easier to program. On top of the drone array may be drone pods.Drone pods, which may also be referred to herein interchangeably as“pods” or “hives,” are units of work managed by an orchestration system.The orchestration system may be configured to assign each softwareprocess to a container virtual environment. This allows a drone processto run on one or more drone pods that would otherwise be run on a singledrone, in a drone array, or in a hive or a cloud. Some embodiments mayinclude performing process migration in a drone fleet by separating thesoftware process from the actual hardware. Finally, at the applicationworkflow level, a No-code intent system may be used in addition to aprocedural programming system. With this system, a desired set ofactions, such as imaging an object, can be specified, but the actualsoftware process can be automatically generated through an optimizer,which may be AI-based or a classic linear optimizer.

The drones, such as a dRAID, may be launched, landed, and recharged fromone or more drone hives. More than just a storage system, these hivesmay have a large compute-cluster with AI accelerators used to provideeven more compute capability to the drones. A typical graphicalprocessing unit (GPU) accelerator may have more processing power (e.g.,10 times, 100 times, 1,000 times, etc.) than carried on a single drone.The drones may be sent instructions, perform object recognition, andcreate new paths from the hives. Hives may also be movable and maythemselves be treated as RAIDs and pods.

As an example, hives may launch a series of drones for recovery by otherhives that are downwind so that drones may float in the elements usingless power. Hives may also act as partners to drones so the drones arenot required to carry heavy and power hungry components, such as RTK GPSsystems. The hives may relay critical information, such as location, tothe drones making them more capable without adding to the drone's weightor power consumption needs. Hives may also act as beacons with passiveand active markers, rulers in the visual, or RF ranges to providepositioning data for the drones. Computation can be moved from drones tohives or vice versa so that if a computationally expensive process hasto be run, the task may be sent to a hive thereby lowering the drone'spower requirements.

Drones and hives may themselves act as positioning and communicationrelay points. For example, when a drone is imaging, it may intentionallyinclude other drones, hives, or other markers to provide positioningaids and feature points with known locations and characteristics.

To enable so many drones and hives to work together, the system may usea radio-frequency aware and agile local network, such as 3D-LAN, thatmay connected by a high speed network. A 3D-LAN refers to a Local areanetwork (LAN) setup and is administered in 3D space where each node inthe LAN corresponds to an entity capable of traversing 3D space throughthree degrees of freedom, six degrees of freedom, or some combinationthereof. Drones may communicate with a 3D-LAN configured to anticipatedata needs and dynamically changes drone paths to fly into highbandwidth “hotspots” created in the sky. A LAN refers to a computernetwork that interconnects computers within a limited area such as aresidence, school, laboratory, university campus or office building. Bycontrast, a wide area network (WAN) not only covers a larger geographicdistance, but also generally involves leased telecommunication circuits.The 3D-LAN may use standard internet protocols (IP) so that modernfacilities, such as mesh networking, multi-cast, video streaming, orQoS, may all be available to the system. The system is designed to allowcommunications failures or outages. If communications are lost, thedrones can continue to function until restoration improves droneavailability.

Cloud computing may back the base stations via high-speed wide-areanetworking 3D-WAN that extends the 3D-LAN concept to wide areacommunications. A 3D-WAN refers to a wide area network (WAN) setup andadministered in 3D space where each node in the network is an entitycapable of traversing 3D space through three degrees of freedom, sixdegrees of freedom, or some combination thereof. The 3D-WAN may analyzesthe RF environment and position hives and drones in “bucket brigades” toensure high bandwidth. As a result, drones have orders of magnitude moreprocessing power and storage compared with standalone drones.

The software architecture may be fully distributed, uniform, anddynamic. The software architecture may isolate the detailed flightcontrols into a small contained module, and may use high performancegeneral processors commonly available, such as those deployed insmartphones, in the drones to run the same compute container andnetworking protocols in the drone edge, local computer in the hives, andin the cloud.

The system may allow dynamic migration of functions such that if aconnection is lost, the drones can continue to fly. Furthermore, whenthere is high bandwidth, functions can be offloaded into the hive orinto the cloud. Instead of separate environments, some embodimentinclude the software providing the entire interface within a browser andseparating components into micro-services. Doing so can simplify theuser experience and can make programming and testing easier.Furthermore, because the system is uniform, there may be a singleuniform simulation environment that emulates the drones, the dronenetwork, the hives, and/or the cloud together as a single system,significantly improving software productivity. Furthermore, the softwaremay be vision-first and 3D-model centric.

The workflow may be built as an integrated whole rather that has asingle vision-built representation for the 3D world used in planning,piloting, and processing. Planning may be done with accurate 3D modelsof the world and without waypoints. Instead, the planning may be doneusing intentions, piloting may be done with pods of drones thataccomplish missions rather than individual waypoint planning, andhardware failures may automatically be compensated for with dynamicplanning. Processing can be done in real-time enabling real-timecollaboration. The system can build 3D models with sensor data and canallow virtual cloud collaboration and dynamic changes in drone operationdepending on what is found, all in real-time.

The aforementioned technical benefits may be obtained at small-scale,and the systems can be more accurate, faster, cheaper, and moredependable. Furthermore, the technical solutions described herein mayallow for missions that are faster than those performed by a singlemanually-flown drone. For example, in 9 minutes, a 64-drone network canaccomplish the same amount of scanning as a single drone scanning for 9hours. The system may allow real-time creation of 3D models atplanet-scale and real-time virtual collaboration while drones are inflight, thereby facilitating real-time consultation improving decisionmaking cycle times. Each drone may also be simpler and has fewercomponents than traditional drones, and can be highly available withautomatic failover when drones fail or run short of power, moremaintainable with simpler drones capable of returning home in the eventof failures, and improve safety with lower mass drones moving and lesspowerful motors needed.

And at the large-scale, the drones can be deployed in the millions (orat different scales). A single integrated system may be formed withdirect oversight of the large fleets of drones from the cloud.Furthermore, automatic scaling may be enabled so that if a mission istaking too long, new networks of drones can be automatically assignedand moves as needed. Still further, with an integrated data storagesystem, the system can accumulate information for AI machine learningand training to improve, amongst other things, path planning, piloting,and processing of data.

Some technologies described herein may include, but are not limited to,which is not to suggest that other listings are limiting, robotic systemtechnologies such as unscrewed air vehicles (UAVs), simultaneouslocalization and mapping (SLAM), robotic operating systems, motorcontrols, battery management, or other technologies. UAVs, referred toherein interchangeably as drones, refer aircrafts without any humanpilot, crew, or passengers on board. UAVs are a component of an unmannedaircraft system, which includes adding a ground-based controller and asystem of communications with the UAV. SLAM technologies refer to thecomputational problem of constructing or updating a map of an unknownenvironment while simultaneously keeping track of an agent's locationwithin it.

Machine learning and artificial intelligence techniques may include, butare not limited to, neural networks, visual transformers, backpropagation, convolutional neural networks (CNN), and deep learning,which may be implemented using software packages such as Tensorflow orPyTorch.

Some machine learning and AI techniques may include computer visiontechnologies, such as photogrammetry, 3D model reconstruction, andNeural radiance fields (NeRF).

Some cloud computing technologies may include micro-services, Docker andother container technologies, Kubernetes and other orchestrationsystems, cloud services, data caching and synchronization, and othertechnologies.

Some mobile technologies include Android architecture and AIacceleration. Networking technologies may include mesh networking,multi-user MIMO (MU-MIMO) and IP networking, 5G networking, and Wi-Fi.MU-MIMO refers to a set of multiple-input and multiple-outputtechnologies for multipath wireless communication, where multiple usersor terminals, each radioing over one or more antennas, are capable ofcommunicating with one another.

Hardware concepts may include redundant array technology such as used inRAID for storage, fault-tolerant system technologies, and multi-systeminterconnects.

Programming environments and technologies may include intentionalprogramming, JavaScript, no-code technologies, or other technologies.

Web development technologies may include browser based computation,WebAssembly and web technologies.

Enterprise applications may include geographic information system (GIS)databases, 3D database and building information systems, and enterpriseintegration technologies, such as XML based connectors. GIS refers atype of database having geographic data combined with software tools formanaging, analyzing, and visualizing that data.

Blockchain technologies may include non-fungible tokens (NFTs),distributed ledgers, and off-chain data storage. NFTs refer to afinancial security consisting of digital data stored in a blockchain, aform of distributed ledger. The ownership of an NFT is recorded in theblockchain and can be transferred by the owner, allowing NFTs to be soldand/or traded.

Described herein is hardware and techniques for an array of drones,drone pods, local area networks, hives, wide area networks, and thecloud integration.

Described herein are drones and techniques for operating drones that canhave extremely powerful replaceable companion computers which cancompensate for relatively short flight times using a large number ofdrones working together. Such drones are inherently vision-first with360×360 vision systems and AI accelerators. The drones can use theadvances in the smartphone industry and other industries to form “flyingphones” rather than a drone with a companion processor. Instead ofmultifunction drones, each drone may be lightweight with a simplemission, such as imaging, providing lights for better imaging, or forrelaying communications. The drones may be designed to be lightweightand may have kinetic reduction systems such as parachutes or passiveencasement to slow them down. These drones may also be designed withlarge slow-moving propellers that enable quieter and safer operation.

Some embodiments include the basic unit of work not being a singlecomplex drone, but a dRAID of simpler lightweight drones having a singlepurpose (or minimal number of purposes) to further lower weight andpower requirements. These arrays may be configured to allow any ofnumber of drones to fail and still have the dRAID capable of continuingits mission. Having a reconfigurable drone array considerably canfurther reduce the burden on planning, piloting, and processing systems.Thinking of drones as arrays allows for an expensive custom build dronewith every possible sensor and capability built at the factory (wheremost of the components are not used on missions and require a largepower source to carry the extra weight) to be replaced with a dronearray that can be tailored and assembled dynamically for every missionbased on the mission's requirements. Further still, each component maybe an independent drone, which can be lighter, simpler, more reliable,and less expensive than current drones. With a dRAID, deadweight in thesystem can be minimized. For example, if a narrow view is needed, asmall number of camera drones can be used. As another example, if thedrones are needed for a short mission, small battery drones as opposedto larger battery drones can be configured.

A dRAID may operate faster because of its use of a single camera.Multiple cameras on multiple drones may instead be used to take imagessimultaneously, allowing for fast interpolation and higher accuracy thanconventional techniques. The dRAID may allow hot spare drones toautomatically move to become part of the array in the event of failure.An array of redundant drones, such as a dRAID, can also reduceregulatory hurdles as lighter drones have less kinetic energy andimproved reliability (for example, if a drone fails, other drones cantake over).

There can be multiple types of drone arrays including multiple drones ordRAIDs doing different tasks that further simplify the drones'scheduling and lower the cost and power needs for the drones. Forinstance, there can be a dRAID of imaging drones, an array of lightingdrones to eliminate shadows, an array of communication relay drones ifthe LAN or WAN coverage is poor, or other array types.

Within an individual drone array there may be many different types ofdrones. This can increase management flexibility so that if there aredifferent requirements for sensing and directions, different types ofdrones, such as a lighting drones, three camera drones, and/orcommunications drones, can work in the same system to make the logical“drone” created by dRAID even more flexible.

In some embodiments, dRAIDs can be managed locally so each dronepositions itself relatively to the rest of the drones and theycollectively agree on their state. Arrays may also be managed by one ormore controller drones, which may include multiple drones configured todirect the movement and position of subsidiary drones. Furthermore, adrone array may be virtual such that each drone works independently, butthe piloting software emulates the drone array. These implementationscan be flexible depending on how much compute power is available in thephysical drones. For example, a drone array may have a great deal ofcomputational power so that each drone can maintain the state of allother drones to manage themselves as peers. As another example, if a fewdrones have a great deal of compute then the drones can manage theentire array as secondary drones taking path information. Further still,if the drones do not have enough compute power, the array planning canbe done in a remote controller, such as one or more hives, offloadingthe individual drone computations to the hive.

Some embodiments include treating drones not as individual sensors, butas a single camera system managed with a single global 3D shutter. Whenan object needs to be imaged, multiple drones may fly either in a dronearray or as individual drones that are synchronized with precise timingto take an image (or images) from multiple vantage points at the sametime (e.g., within 1 second of one another, within 0.1 seconds of oneanother, within 0.01 seconds of each other, and the like). This singleglobal shutter for an image can allow a precise 3D model to be createdwithout artifacts that occur when photos are stitched together overtime.

Some embodiments include local communications systems that are dynamic3D local area networks instead of a passive network that ispoint-to-point. The drones and hives can constantly re-compute the RFenvironment, mapping hot spots and measuring the communications needs,and all nodes can automatically move to locations as needed to maximizebandwidth. This reliable system enables smaller drones to replace largermore complex ones.

Some embodiments include the computing being in local compute clustersin hives instead of in individual drones. This moves heavy andpower-intensive machine learning and 3D world modeling away from thedrones. The overall system is capable of operating with compute on theground and sensing in the drones. Multiple hives can work togethercreating a large-scale local compute cluster with high speedcommunications to many drones. Furthermore, instead of putting GPSreceivers on drones, they can be placed on the ground, and can use RTKGPS or other positioning in combination with the visual position so thateach drone can precisely position itself.

The local compute can be connected to the highest tier with a 3D WAN.The hives may constantly map the radio frequencies and bandwidthavailable to them and can reposition hives to better locations to ensurehigh bandwidth to the cloud systems.

Furthermore, the cloud computing environment can be closely integratedwith the remote hardware at the mission site. This may allow directprocessing of real-time data and can enable real-time collaborationwhile the drones are in flight, which can significantly shorten the timeto analyze problems.

Some embodiments include software that is novel in structure at theedge, implements a uniform programming environment, and is vision and AIfirst. The on-drone systems may be containerized and may use standard IPprotocols. Software running on the drone can automatically migrate fromthe hive to a drone or from one drone to another. Some embodimentsinclude a general compute node rather than specialized flight software.

Uniform programming models exist across the drone, hive and cloud sothat a single development effort can apply to any of the hardwareenvironments and it enables much simpler simulation and testing. Dronesmay be programmed with intentions rather than waypoints and procedures.Drones or drone arrays (which improve redundancy and simplifyprogramming) may be managed as pods of functions. Orchestrated together,the drones may operate as one to perform a mission rather than followinga series of waypoints, thereby simplifying the programming intogenerating the intentions or the desired state of the system and thenhaving an orchestrator separately work to maintain that state.

The fundamental unit of work may include a set of points to be imagedrather than a specific plan. This separates the actual path planningdetails from the points that must be imaged and allows automaticfailover and replacement as needed.

The software facilities may be vision first and 3D mapping focused. Thenative primitives in the system include building a 3D view of the worldin the hive that is shared with all connected drones and then augmentedby additional recognition and enhancement that can be done in thenon-local cloud.

Some embodiments include a user interface that is browser-based. Abrowser-based user interface can separate the presentation of the datafrom the infrastructure in the hive or the cloud that is processing thedata.

Some embodiments include the application workflow being significantlyenhanced as it merges together the traditional manned aviation view ofdrone operations and automates it. Planning may be done with a 3D maprather than just 2D satellite and may use realistic 3D visual effectsfrom computer graphics engines so that planning takes into accountshadows and glare and other real world effects. Plans may be createdassuming multiple drones acting together in a pod to accomplish missions(for example, so waypoints are not used for individual drones), but a“no code” approach can also be used for a drone pod that has a setcollection of locations to image.

Piloting does not have to be an extension of manual piloting. A 3D mapcan be built using visual cues and may not be dependent on GPS, all thedrones in the system, and can be shared amongst all drones. The dronescan find each other in images and find known objects, such as hives, toposition themselves. For example, the drones know the exact size andphysical features of each other, which aids in positioning. Failures andproblem with drones can be handled automatically as is re-planning ofdrone flights.

Some embodiments include processing of images in real-time using highspeed transmission afforded by the drone array and caching in the3D-LAN. Reconstruction of 3D images may use NeRF and/or other AItechniques to generate 3D models and perform object recognition. Theresults can be immediately shared with the operator. In someembodiments, the cloud system can assist in this and also in thereal-time transmission of models to remote users. The cloud system mayalso allow both remote conferencing and changes in flight plan.

Some of the technical benefits of the embodiments described hereinrelate to the hardware, software, application workflow, and theresulting small-scale per-mission overall result. Additional technicalbenefits are described with respect to improvements to the overalllarge-scale fleet-size.

Some of the technical benefits of the hardware described herein may benoticeable at the drone level. For instance, drones may be produced thatare cheaper, safer, and disposable compared with complex drones. Forexample, a 249 gram drone is not considered dangerous by the FAA andtherefore has substantially fewer requirements. Furthermore, addingautomatic airbags and other technologies can facilitate drones capableof floating rather than falling in flight.

At the hardware level of multiple drones in an array, the embodimentsdescribed herein can improve the drones reliability and speed ofoperation. For example, two 249 gram drones with two cameras will imagean area twice as fast and is not subject to FAA regulations.Additionally, if one drone fails, the mission is not scrubbed but cancontinue with one or more of the remaining drones taking over the missedpoints. Having a high performance 3D LAN provides orders of magnitudemore bandwidth to the drones, which allows them to offload moreprocessing to the hives thereby further reducing weight. Additionally,knowing when high bandwidth will be available through the 3D RF imagingof the LAN enables rapid download and transmission of information athigh fidelity. At the hardware level of drones with hives, the systemdescribed herein has a substantially better overall 3D map of the areabeing surveyed and can, in real-time, determine what areas have not yetbeen surveyed or need additional surveys. The compute power in the hiveresides in something with significantly more weight and power capacity,so larger processing and storage systems, as well as GPS locationtechnology, can be on the ground, resulting in better accuracy, fasterprocessing, and faster sharing of information across all the drones.Furthermore, at the hardware level, having a broadband network that ismonitored and maintained in real-time can bring much closer connectionto the cloud, further providing more computation capabilities for bettermapping and object recognition from data-center scale resources.

At the software level, some embodiments described herein may uselightweight drones with high-performance computers to homogenize thecomputing environment. This may allow more code to be shared between thedrone, the hive, and the cloud, further speeding development. At thesoftware level, some embodiments may use orchestration to separate theintent of the operation, such as scanning from the actualimplementation, makes programming and managing many drones easier bydividing the problem between the intent to scan and the physicalresources through orchestration. Therefore, the application programmerdoes not need to worry about how something is done, just what must bedone. Also at the software level, some embodiments include separatingthe computation into micro-services that run in virtual containers.Running the micro-services in virtual containers may allow the system toautomatically migrate processes in containers between the drones, hive,and cloud, which may allow the system to dynamically adjust where thecomputation happens depending on the local network between the drone andhives, and the wide area network between the hives and the cloud. Forexample, if the LAN is high quality, more of the computation can happenin the hive reducing the load on the drones giving them longer flighttimes as an example. At the software level, some embodiments may usebrowser technology, such as WebAssembly and 3D GL, which may allow thesystem to put the user interface into a browser. Putting the userinterface into a browser can significantly reduces the learning curvefor users and can also simplify the development process. The userinterface can call the micro-services in the system, bringing dronesfully into the modern internet world. Still further, in someembodiments, the software architecture may be vision-first and 3Dmapping focused, which can simplify the application workflowsignificantly. For example, instead of dealing with low levelprimitives, the system processes camera and other sensor data into arich 3D world, thereby making it easier for the application workflowdeveloper.

At the workflow level, some embodiments include simpler mission planningbecause the guesswork is eliminated trying to do 3D planning with 2Dsatellite maps. Further still, because the system can use realistic 3Dgaming engine modeling of light, wind, or other physical effects, theplanner can take into account these important effects when determiningwhere and how to image an object. Rather than specifying what to do, thesystem can be configured to describe the intention or the desired state.This “no-code” approach enables users, who are better at describing thestate desired (e.g., “I want a survey to 1 cm precision”) instead ofmanually specifying several waypoints. However, this technique requiressignificant engineering efforts to make work on a single drone. At theworkflow level, some embodiments further include actually piloting themission based on 3D models and drone pods to significantly reduceoperator workload. For example, it may be easier to monitor the statusof many drones by seeing where they are in a 3D map of the mission site.Also, operators can examine the real-time data feed of the dronesin-flight rather than waiting until after the mission is over. In theprocessing step of the workflow, some embodiments include the real-timecapability such that problems in scanning can be detected while themission is in progress. Furthermore, because the system uses advanced 3Dcompression techniques, a latency associated with seeing these models inreal-time and transmitting them can be reduced.

Taken together, these hardware, software, and application workflowimprovements considerably improve the accuracy, speed, and cost of adrone mission. Additionally, these improvements can significantlyincreases the dependability of the system with improvements inreliability, availability, maintainability, and safety. For instance,separating the flight, safety, and applications hardware and systems cansignificantly improve reliability. These can also be assign dedicatedcommunications so that a problem in the application layer, such asmission planning, may be minimally impact flight and safety systems.Also, by using smaller less complex drones, there are fewer itemssubject to failure. In particular, redundant arrays of drones ofdifferent types and base stations can increase the overall reliabilityof the system because each of them has a simpler single function.Multi-role systems of N components can have N² more ways to interact andfail. The availability may be improved because of the ability to have“failover” drones and overlapping coverage, as compared to systemsincluding a small number of complex drones. In the latter case, if adrone goes down, then the entire mission may have to be scrubbed.However with the use of failover drones and overlapping coverage, anoperator can tune the requirements to tolerate any number of dronesfailing. The maintainability may be improved because more complexdrones, which have more parts that can fail (particularly in the harshoutdoor conditions where drones are used) are not needed or can bereplaced with smaller, simpler drones with fewer parts capable offailing. The safety of the system can also be improved because the sizesof the drones and the kinetic energy of the drones is less than those ofmore complex and larger drones. For example, although the system can beused with existing “heavy” small unmanned aerial vehicles (sUAVs),ultralight drones, such as those in the sub 250 gram category, haveinherently less kinetic energy. Therefore, the terminal velocity due towind resistance or auto rotation may be comparatively low. With thesetechniques a small drone can have essentially zero kinetic energy andmay “float” when/if it fails.

Furthermore, from a large-scale fleet-wide view, for achievingInternet-scale, some embodiments described herein employ an overallsystem that can significantly increase manageability, interoperability,programmability, and scalability, as well as improving privacy andsecurity. With respect to manageability, some embodiments use ahierarchy of base stations and drones, simplifying management. Forexample, instead of thousands of individual parameters, grouping thedrones into arrays and networks allows a group to be managed andcontrolled at that level. For instance, a task to image can be assignedto a drone array and that system issuing the directive does not have tomanage the number of drones failures and re-pathing that is requiredwhen obstacles are encountered. With respect to the interoperability,the system may allow any drone to be integrated into operations. Forexample, the technical solutions can be software for an existing fleetand the drone management software. With respect to the programmability,some embodiments include simulating the system using conventionalsystems. For instance, because the key data components may include a 3Dworld model and a layered model, any level can be simulated. As anexample, a drone mission can be run against a 3D world model,instructions can be generated to simulate hives traversing that world,and then drones can be deployed in the simulation. Individual modulescan be easily tested just by simulating the systems above and below. Inaddition, by using a declarative language, complex path planning can behandled at the lowest level, thereby considerably simplifying aprogrammer's workload. Some cases include the system being trained usingreal-world missions. For example, machine learning can be applied bytaking similar missions and seeing what actions actually work. Withrespect to scalability, some embodiments include a system that isdesigned from the ground up to work with thousands of drones in a singlemission and to handle a mission like this with the same infrastructurethat works across millions of drones through the layering of concernsapproach. That is, each level can take a declarative description of thestate the higher level desires. For example, the mission planner justsays “Image this house at 1 cm resolution with 10 drones” and this meansthat the actual path planner is decoupled and can be replaced andmanaged separately. In other words, the complexity of the system canscale linearly. With respect to security and privacy, some embodimentsinclude privacy being built into the system (for example, from how itimages to how it reads system data), inherently making the system moresecure. For example, having the ability to revoke 3D object accessenables to the system to respect GDPR. For instance, if an individual isrecognized, that individual may control the access rights via an NFTthat is their identity across the entire system. They can also revokeaccess as needed.

The system described herein may be simpler for end-users to operate anduse correctly. For instance, with respect to simplicity, having alayered system can enable different specialists to work on differentparts of the system. As an example, a mission planner does not need toworry about the maintenance functions or the possibility of a drone notbeing ready. Instead, when a drone is out of service, the missionplanner may specify the resources required and the resource scheduleallocates the actual hardware. Also, because the main interface for dataoutput can be a 3D world model, some embodiments include a singleuniform way to read the data and write into it. Further still,connecting different surveys through NFTs and a distributed ledger mayenable users to use an easy to understand market rather than complexbusiness negotiations to purchase data.

Rather than specifying what to do, some embodiments enable the intentionor the desired state to be described. This process can be referred to as“no-code,” as it allows users to describe the state wanted (e.g., “Iwant a survey to 1 cm precision than in specifying many way points”). Insome embodiments, human can declare what they want and computers can runan optimization to move from the current state to the desired state.This minimizes the amount of error-prone procedural logic in the system,reducing bugs and other problems.

Additionally, with every mission run there is an opportunity to improvethe system by automatic learning from previous missions. Everything fromRF models to path planning can have a continuous feedback loop betweenthe actual execution in the physical world and the simulated world.

Architecture

The overall system architecture, which may include multiple drones,multiple base stations (hives), and the cloud are described in detailbelow.

FIG. 6 is a schematic diagram of a drone 600, in accordance with variousembodiments. A single drone, such as drone 600, may include a battery6410, an IMU 610, rotors 620 (one or more, two or more, four or more,etc.), radios 650, a frame and landing system 660, a charge system 6420,a GPS 630, motors 640, electronic speed control (ESC) circuitry 645,markers 670, FCameras 695, a flight computer 690, one or more lights697, fLAN 6310, active safety system 6520, destruct system 6530, asafety computer 6100, one or more USBs 6295, LAN 6320, a companioncomputer 6200, an AI accelerator 6205, cameras 6210, GPS 6220, IMU(s)6230, storage 6240, ultra-wide band UWB 6231, lights 6250, audio 6260, auser interface 6270, a Bluetooth (BT) 6280, and wLAN 6290. Although asingle instance of each of the aforementioned components is depictedwithin FIG. 6 , persons of ordinary skill in the art will recognize thatmultiple instances of some or all of the components may be presentwithin drone 600, and a single instance of each component is depicted toavoid obfuscating features.

Companion computers, as described herein, refer to one or more computingunits capable of additional perception, communication, and sensing, andwhich can be connected to the main flight critical autopilot eitherthrough a wired or wireless connection and may be networked.

In some embodiments, flight computer 690 may be configured to performlow level control of the actual operation of drone 600. IMU 610 may beconfigured to provide compass, accelerometer, or other movement data.GPS 630 may be configured to report location. Radios 650 may refer to atelemetry radio, which may be configured to provide movementinstructions or instructions for flight. In some embodiments, motors 640may be actuated to power rotors 620 using ESC circuitry 645 to keepspeed consistent. Drone 600 may further include frame and landing system660, as well as various visual markers 670, such as QR codes orcalibrated length measures. In some embodiments, drone 600 may includeone or more sensors, such as Fcameras 695 or other sensors such asLidar, and may have navigation lights 697. Lights 697 may be configuredto flash patterns to signal. Drone 600 may further be connected to othersystems with a flight LAN 6310 or serial bus.

Safety computer 6100 may be configured to isolate the mission-criticalflight hardware from companion computer 6200. Safety computer 6100 maybe configured to monitor data requests and flows, and can restrictcompanion computer 6200 in the event it is determined that companioncomputer 6200 is not functioning properly. Safety computer 6100 mayinclude active safety devices 6520, such as parachutes or inflatingballoons designed to lower the speed in case of failure and may encaserotating or sharp parts. Further still, safety computer 6100 may includea destruct system 6530 configured to turn drone 600 into components thathave less kinetic energy or fewer sharp objects in the event offailures.

Companion computer 6200 may include AI accelerators or GPUs 6205 toimprove neural network performance, a sensor payload 6210 of one or morecameras, lights, or other sensors configured to provide imaging of thesurrounding environment, IMU 6230 and GPS 6220 configured to providebase location information, compass, accelerometer, or other datarelating to a physical location of drone 600, and storage 6240 forstoring programs and data. Companion computer 6200 may also include auser interface mechanism 6270, such as a touchpad and screen, and may beconfigured to communicate with other modules on drone 600 through a LAN6320, USB 6295, or other communications systems. In some embodiments,drone 600 may include an ultra-wide band 6230 and/or BT 6280 forproximity sensing and local communications. Drone 600 may also includewLAN 6290 implementing technology that is cellular, Wi-Fi, or otherprotocol based, or combinations thereof. These antennas may both sendinformation and passively record the signal strengths as the dronetravels enabling mapping of the 3D environment.

In some embodiments, drone 600 may also include charging circuitry 6420for batteries 6410, and attachments for active safety 6520, such asairbags, balloons, and/or parachutes, as well self-destruct hardware6530. Drone 600 may include a lighting system 6250 for identificationand visibility and an audio system 6260, which may include one or morespeakers, one or more microphones, or other audio input/outputcomponents. Some embodiments include USB 6295, or other serialconnections, to attach additional peripheral devices.

FIG. 7 is an illustrative diagram of an example hive architecture 700,in accordance with various embodiments. Hive architecture 700 mayinclude (drone) hive 7100 as well as one or more landing or takeoffsystems. In some embodiments, the landing/takeoff systems may be usedwith passive visual lighting, active lighting, or RF beacons to allowdrones to localize landing site 7160 and may include recharge 7150.Recharge 7150 may be configured to automatically connect to a drone(e.g., drone 600) when the drone lands. Recharge 7150 may be furtherconfigured to charge the drone upon recharge 7150 connecting to thedrone.

Hive architecture 700 may include one or more markers 7180, which may bestatic optical or lit in a pattern. In some embodiments, hivearchitecture 700 may also include multiple lights 7190 allowing blinkpatterns to aid in localization. In addition, hive 700 may includemultiple RF beacons 7230, such as Bluetooth LE or UWB that provideprecise localization on the various part of hive 700. In someembodiments, hive 700 may have markers, such as QR codes, to calibratemeasurement rulers as part of any of these systems.

In some embodiments, hive 700 may include one or more LAN access points7250 that may cooperate to produce MU-MIMO, thereby allowing multiplestreams to multiple drones simultaneously. In some embodiments, hive 700may include one or more wide area network links 7270 to the cloud, suchas a satellite or cellular modem. Hive 700 may include one or more GPSreceivers 7290 that may be high precision using differential GPS or RTK.These antenna systems may be attached or separate or placed on separatepositioning mounts 7210 that may themselves be autonomous and movable(to obtain the best signal). In some embodiments, hive 700 may includeAI Computer 7110, which may include a disk array for storage 7120. Hive700 may also include a power supply 7130 for the hive itself and torecharge drones, such as via recharge port 7150. In some embodiments,hive 700 may include the network switch and routing hardware 7140 toconnect these components. Network switch and routing hardware 7140 maybe intelligent and capable of handling multiple connections upstream tothe cloud or other drones and to individual drones. Hive 700 may alsoinclude recharging for the drones and also for the onboard powersystems. In some embodiments, hive 700 may be autonomous and may includean input to a drive interface 7200 of a vehicle 7100 to enable movementof the entire hive.

FIG. 8A is an illustrative diagram of an overall system 800 includingone or more drone pods 810, in accordance with various embodiments. Adrone pod 810 may include a collection of one or more drones, such asdrones 820, 830, 840, 850, etc., which may operate as a unit and performmissions together for planning purposes. Each drone pod 810 may havedifferent functions, so that drones 820, 830, 840, 850 may communicatethrough a Drone LAN 8300 created by one or more Hive LAN Access Points8100. System 800 may include one or more hives 8200 that may beconnected to one or more drone wide area networks 8300. Drone pod 810may have include cameras, lighting devices to illuminate shadows, LIDAR,radar, audio, or other sensing devices. These pods may connect to oneanother via WAN 8300 and to cloud services 8400. Cloud services8400 maybe hosted remotely and may include services such as computer services8410, storage services 8420, networking and routing services 8420, orother services.

FIG. 8B is an illustrative diagram of an overview of the system 8500, inaccordance with various embodiments. Ultralightweight and inexpensivemicrodrones that can be dynamically configured and reconfigured. Theymay come together as a unit to form a drone RAID array to provide faulttolerance and temporary multi-mission capabilities and are flown like asingle drone. See 85100.

The drone-aware local communications network architecture, drone LAN isa 3D dynamic local area network or 3D-LAN, instead of a staticpoint-to-point network. This allows the drones, acting as nodes withinthe dynamic 3D wireless network, to constantly communicate and map theRF environment, dynamically creating an RF spectrum map that's used tooptimize the flight trajectories in order to find the most efficientbalance between flight time, network coverage, bandwidth andcommunication latency. See 85200.

Computing capability is performed on the base station (hive) to augmentthe drones. This moves heavy and power-hungry machine learning and 3Dworld modeling away from the drones. Multiple hives can work togethercreating a large-scale local compute cluster with high speedcommunications to many drones. Instead of putting GPS receivers ondrones, they are placed on the ground and can use RTK GPS or otherpositioning in combination with the visual position so that each dronecan precisely position itself. See 85300.

This local compute is in turn connected to the highest tier with a 3Dwide area network or 3D-LAN that is a drone aware dWAN. The hivesconstantly map the radio frequencies and bandwidth available to them andcan reposition hives to better locations to ensure high bandwidth to thecloud systems. See 85400.

Finally, the cloud computing environment is much more closely integratedwith the remote hardware at the mission site. This allows directprocessing of real-time data and enables real-time collaboration whilethe drones are in flight significantly shortening the time to analyzeproblems in the field. See 85500.

FIG. 9 is a schematic diagram of drone software architecture 900, inaccordance with various embodiments. Hardware architecture 800 may runsoftware blocks.

Drone software architecture 900 may include one or more instances of aflight computer 9200, which may be configured to control low levelsystems. Flight computer 9200 may be configured to operate one or moreof modules. For instance, flight computer 9200 may include a cameraprocessing system 9240. Flight computer 9200 may include a telemetrysystem 9220 configured to records the IMU, motor state, and/or otherflight data, such as apparent wind. Flight computer 9200 may include aflight control module 9230, which may be configured to convert flightcommands stored in command module 9210 into detailed operating commandsfor flight control actuators 9250 and motor control software modules9260.

In some embodiments, a drone may include one or more instances of asafety computer 9400, which can be configured to monitor commands.Safety computer 9400 may include a safety control system 9410 configuredto monitor the state of the drone, initiate emergency actions, such asto return to home, self-destruct, or depowering of the system, or thefiring of parachute or other safety systems. Safety computer 9400 mayinclude a security agent 9420 that can be configured to validatecommands going to command system 9210 to ensure commands are valid andfrom valid software in the system. Communications between the flightcomputer 9200 and one or more proxy modules 9430 that can be configuredto monitor, and potentially block, network transfers between computers.

In some embodiments, the drone may include one or more instances of acompanion computers 9300 that may have their own software modulesconfigured to monitor IMU information from IMU interface 9510 andtelemetry information from the telemetry modules 9220 or one or moreflight cameras 9240 via camera interfaces 9530. In some embodiments, thedrone may have one or more GPS interfaces 9520 and one or more sensorinterfaces. In some embodiments, the drone may include one or moresensor fusion systems 9310 that can be configured to process, clean, andmerge the information. This module may send information to poseestimator system 9320 to estimate the 6 degrees of freedom (DoF) pose ofthe drone to determine its position in space both relative and absolutein the world. A pose refers to a position and altitude, where theposition may be presented in either local or global coordinate systemreference frames. One or more instances of pose estimator softwaremodules may feed one or more local mapping modules 9330, which may beconfigured to determine the location of objects in the world anddetermine if there are obstacles and the navigable path for a specificdrone. One or more local mapping modules 9330 may be configured toconnect with one or more local atlas modules 9340, which may beconfigured to determine the position of the drone in global space andmay determine if the drone has made a loop and has arrived at an alreadyseen location. This information may be sent to one or more local motionplanner systems 9350 that can take into account the current position,the current state, and the desired mission plan to find the optimal pathfor the drone. The local motion planner system 9350 and sensor fusionsystem 9310 may forward images, pose, and other information, such as RFsignal measurements, to the network cache 9360 for transmission to oneor more hives through hive radio system 9540.

In some embodiments, local motion planner system 9350 may be configuredto receive updates over hive radio 9540 from the hive providingadditional information such as additions to local mapping module 9330 orlocal atlas 9340 based on other drones or other hive information. Localmotion planner 9350 may keep track of its relative position to otherdrones to maintain a drone RAID array and ensure it is a set distancefrom other drones in the array. There may be a local Array Controller9980 to do additional management such as fault recovery andconfiguration that may work on the drone or other drones in the array.

As the done travels, it may collect RF signal strength data from thehive radio 9540, and other sensor information directly such as IMUinformation from IMU interface 9510, GPS information from GPSinterface9520, image data from camera interface 9530 or cameras 9240, ortelemetry data from telemetry system 9220. This information may be sentto hive-wide planning.

Drone Time Sync module 9370 may synchronize its clock from varioussources including timing information from GPS interface 9520, and mayreceive time corrections from the hives over Hive Radio 9540. Drone TimeSync module 9370 may provide services and precise time stamps for allsensor systems and transmission. Drone Time Sync module 9370 may also beused by the Planning modules to more precisely determine mission andtravel times.

The drone software processes can be kept in containers and the modulesmay be kept in companion computer 9300, and they may be managed byorchestrator 9920, which may be configured to determine which modules torun on which components of companion computer 9300. Orchestrator 9920may communicate with the hive to migrate pods from the companion to thehive if there is too much work to be done. The overall management ofcompanion computer 9300 can be handled in manager 9940, which mayinclude a user interface, statuses, logging, and other information.Integrator 9960 may provide an interface to external software that mayrun on the drone and provides an integration interfaces for foreignsoftware that may extend the function of the system.

FIG. 10 is a schematic diagram of a hive software architecture 1000, inaccordance with various embodiments. Hive software architecture 1000,which may also be referred to herein interchangeably as a hive 1000, mayinclude software modules that include a base system that schedules othersoftware modules across the actual hive hardware. Hive 1000 may includea drone manager 10100 configured to provide services for the dronesunder the hive's control. This may include an orchestra module 10110configured to manage what containers are running on the drone hardwareand what hardware pods of the drones are available under the hive'scontrol. The hive may include a Pose Estimator 10120 that can beconfigured to monitor the drones and provides an estimate capable ofbeing used to correct a position of some or all of the drones. Objectdetectors 10140 may provide additional object detection that augment thedrone onboard systems. Global Planner 10160 may manage the overallflights of all the drones. Calibration module 10180 may be configured tocorrect for distortions and sensor errors in individual drones or dronearrays. Fault monitor and planner 10190 may receive notifications offaults and may initiate changes needed in planning. Drones that do notuse an onboard controller to manage them as arrays may Array Controller10195, which may be configured to provide corrections to the onboardDrone Array Controllers 10195 for configuration, positioning, and/orfault recovery.

Internal systems, such as hive systems 10200, may be configured tomanage the hive. Hive systems 10200 may include a 10210 Hive Plannerthat can handle the routing of the hive and coordination with otherhives. Local RF models 10260 may manage the local RF environment and canprovide a 3D map and time based prediction (4D mapping) of the RFenvironment locally and the RF environment characteristics for WANcommunications. This may be used by the 10100 Drone Manager to planflights based on data download and upload requirements. Hive Planner10210 may be configured to move the hive or synchronize with othersystem modules through Data Sync 10290. Weather model 10220 may beconfigured to model wind, light, or other dynamic conditions over timeand may predict future conditions for use by planning modules throughoutthe system. The objects in the mission may be kept in a 4D Model system10280 that has both the 3D and models the changes in time. Mission Store10240 may manage the mission information, such as paths and desiredgoals for the missions. Time Manager 10230 may provide a precise clockfor all systems including all drones and other hives to allow precisetiming for every sensor and other measurements being taken.

Cloud Manager 10300 in the hive may be configured to managecommunications to the cloud. Cloud Manager 10300 may include a WANManager 10320 to optimizes and schedule transmissions to the cloud, acloud caching system 10340 that may store and forward information to thecloud from drones or other hives, and an Operator and Integrationinterface 10360 that can provides status and management facilities fromthe cloud or a local operator.

Hive 1000 may also include a base set of modules 10900 configured toprovide common services to all modules. This may include an Orchestra10920 to manage which software modules to isolate into containers run onwhich hardware pods. Modules 10900 may also include a manager 10940 thatmonitors the overall system performance, handles real-time events andlogs critical data. Modules 10900 may also include an Integration system10960 that allows foreign software to interact with the system through aset of connectors or other facilities.

FIG. 11 is a schematic diagram of a cloud software architecture 1100, inaccordance with various embodiments. In some embodiments, cloud softwarearchitecture 1100 may include software modules, such as one or moreinstances of a real-time mission system 11200 for running live missions.Real-time mission system 11200 may include one or more mission goalmodules 11210 that may be configured to track the intent of the mission,including, for example, locations to be scanned and a quality of thescans required. It may include one or more 3D model builders and objectrecognizers 11220 that can take the real-time data from hives or othersources and perform 3D object reconstruction using techniques including,but not limited to, NeRF, photogrammetry or other techniques. The systemmay also include a real-time 3D RF model 11230 of the site to aid inreal-time planning of missions and include communications bandwidth inmission re-planning 11250. These modules may communicate with the hivesover the hive communications interface WAN Communications interface11240.

In some embodiments, cloud software architecture 1100 may include asensor processing pipeline 11300. Sensor processing pipeline 11300 mayinclude a fine grained 3D model 11330, which may run in batch mode andcan provide higher resolution to the real-time 3D model builders andobject recognizers. Cloud software architecture 1100 may includehigh-resolution non-real time object recognition and characterizationsystem 11340, and one or more 4D model integrators 11350 configured tothat take information from a specific mission and integrate them into aplanet-wide multi-mission derived 4D database model 11420.

In some embodiments, cloud software architecture 1100 may include one ormore AI training systems 11360 that take the log, path, and otherinformation, such as real images, and may be configured to train theobject recognition model 11340 and model builder 11330.

In some embodiments, cloud software architecture 1100 may include one ormore simulation systems 11500, which may be configured to aid in thetest and planning and other system functions. This software service mayinclude one or more graphic simulators 11510 that may be very highfidelity in the imaging including real-life effects and may include oneor more motion simulators 11520 that can model the physics of the dronesin motion. In some embodiments, the service may have one or moresimulators that integrates these two models. Simulation system 500 mayinclude a test pipeline 11530, which can allow any module to be replacedin software to provide simulation of any software component in thecloud, hive or drones. Simulation system 500 may include an RF simulator11540 that may be configured to model the real world RF effects ofspecific sites based on radio data and other information in 4D globalmodel 11420.

Workflow

FIG. 12 is a schematic diagram of an example workflow 1200, inaccordance with various embodiments. Workflow 1200 may be applied to adrone mission, and may be performed across one or more drones 12100, oneor more hives 12200 with one or more cloud services 12300 withconnections to a local operator 12265, and remote operation services12400 that may be performed away from a mission site.

Workflow 1200 describes an example flow of how information moves and thesystem works. An operator, who may be a human or another computermodule, may provide new mission data 12410 to remote operations services12400. For example, modules such as fleet status, training, and testmodule 12390 may run modeling of missions for resource planning todetermine fleet requirements in the future based on prior missions. Orif new software or systems in place, the specification may include alist of modules with versions and times to be run to run virtualmissions or test the system.

In some embodiments, a new mission specification may be entered into thenew mission module 12410. A declarative document may be created thatspecifies the mission goals such as the resolution and type of sensorsto be used in a scan, the objects of interest or areas of interest, whatdynamic or moving or unexpected objects are being searched for if not afixed presence, the resources they have for the goals, such as one ormore drones 12100, which may be grouped into one or more pods with oneor more unique characteristics. The number and type of hives 12200available for the drones and their capabilities may vary. It may includethe frequency and repetition rate desired. And it may include storedprocedures, conditionals and other constructs to specific events and howthe mission would change. The specification may also includeobservability constraints for example it may specify a noise limit foran area to ensure drones are not disruptive, it may specify visibilityparameters such as flight paths should not be viewable from particularlocations or the drone should be very small to prevent observationassuming a given visual acuity or zoom level. The specification may alsoinclude areas that are not to be scanned or have different privacyrequirements that may inhibit certain sensors from imaging sensitiveobjects. These objects may be stationary or they may be dynamic withparameters, and may be detectable using object recognition 12360, whichmay include face recognition or object types such as underage children.

The objects may be converted by mission program module 12420 into amission document 12460 that describes the intention of the mission andstored in a mission database 12450. The operator may load, from missiondatabase 12450, and extend, modify, or write new missions or link tomissions.

The cloud planning system may takes the current 3D models over time as a4D model 12310. This may include previous data that is at a similar timeand date as well as weather, wind, sun locations and other data. The 4Dmodel may synthesize, interpolate, or otherwise estimate the model ofthe world for the mission at a given time and weather condition. Themodel may also include RF signal models, audio signals that appear inthe system. It may also include an acoustic propagation model todetermine how far audio will travel. It may also include markers orother precisely located physical attributes such as a bridge that act aspositioning points that are available visually or by radio or othercharacteristics such as broadcast towers or cellular towers with knownRF characteristics.

In the cloud, simulation system 12320 may start with these parameters.Simulation system 12320 may consist of one or more specializedsimulators connected together. As an example, a detailed physics enginemay model the wind, weather and the drone movement in great detail andthis may feed locations to a detailed visual simulator that has highfidelity imaging. The simulation may insert hardware failures, weatherconditions changes and other unexpected events to test the simulation.The simulation may also include a radio frequency model to determinewhat frequencies are available for communications. It may also model theRF environment and provide data on expected transmission bandwidth andinterference given parameters for antennas such as transmit power orbeam forming. It may also model interference from other sources such asexisting radio transmitters. The simulation may also model the storageavailable for sensor and imaging and other uses as well as the predictedpower used by each device for missions. The simulation may also modelthe expected GPS or other positioning signals available including theexpected multipath and other losses. The simulation may also include anaudio model that may include drone noise, the audio signals expected tobe found and parameters for recording audio such as anomalous engine orother noises.

Optimizer 12330 may then analyzes and segments the mission into a numberof segments which are allocated to physical drone pods to complete thatrun on one or more hives and may ensure manage the APs and other RFdevices power and beamforming and may optimize the positioning ofvarious antennas such as for GPS, drone LAN (dLAN), which refers to aLAN implemented using a swarm of homogenous, heterogeneous, or anamalgamation thereof of autonomous or semi-autonomous multi-modaldrones, or dWAN. A swarm may be referred to herein interchangeably as adrone cluster or drone swarm. The optimizer may run a series ofsimulations and models with different mission document 12460 parametersand may optimize the mission based on loss function which may includemission time, power required to complete the mission, redundancyrequired and probability of mission failure or success. The optimizermay add multiple hives, as an example, if it determines wind or path aretoo long so the optimizer may launch drones upwind and they may landdownwind to a waiting hive. Or the optimizer may change hive path plansso a hive may launch at one location and recover drones at another. Theoptimizer may also determine fixed locations where drones may land andimage systems to optimize battery life or other parameters. As anexample, if a flight is repetitive, the optimizer may land a drone andput it into a sleep mode away from hives to minimize travel time andpower usage and then “pop up” as necessary to take images and landagain. Or if a suitable point is found for imaging, the optimizer mayfly one or more drones to fixed locations to image to reduce flighttimes. The optimizer may analyze expected communication needs vs theavailable backhaul capacity is analyzed. The optimizer may allocatedrones and hives to be part of a temporary backhaul network from dronesto hives and also from hives to the cloud.

Scheduler 12340 may determine what drone and other hardware such ashives are available for the mission. The scheduler may bid for droneresources from the internal pool and any externally sourced drones ownedby third parties. The scheduler may merge existing missions that are tobe run in the mission database 12450. and may calculate new virtualmissions that may include multiple missions so that a single physicalmission run may include multiple desired scans. For example, if twobuildings are physically close together, the scheduler may run bothmissions simultaneously with drones already in flight. Or if the RFenvironment prevents one hive from doing an upload, it may mergemissions so that hives across missions may pass data to the cloud orother locations. It may place these packed missions into missiondatabase 12450 and run the mission planner repetitively to optimize theresource requirements one or more times.

Cloud system 12300 may run the merged missions through the simulationsystem 12320 to ensure correctness, monitor the reliability of thenetwork through fault injection. This may occur repetitively or mayfollow a sequence of events.

The allocated hives and drones for a mission may then be scheduled byscheduler 12340, which may schedule hierarchically allocating hives inpods or groups and the allocation pods of drones. Scheduler 12340 mayprovide each hive with a specific part of the mission plan 12345 tocomplete the goals with the resources available. Mission plan 12345 maycompensate for possible hardware failures, by providing additionalhives, drones or other hardware to provide redundancy and faulttolerance. For example, if three drones in a pod are required for amission, the mission plan may allocate two extra drones to tolerate upto two drones failing or not having enough power.

Hives 12200 may then be piloted by humans with instructions included inmission plan 12345 or may pilot autonomously and state arrival process12210. In arrival process 12210, hives 12200 may position themselves inmultiple locations.

In deploy and calibrate module 12220, the hives may be configured tomove to the correct locations and turn on their positioning andidentifications systems. The hive may do high precision positioningbased on previous survey markers and differential GPS, RTK and using thecellular network to act as the base point for drone flights. This mayaugment the GPS or other visual positioning that may be carried ondrones 12100. The calibration may use existing passive markers on thehives or other equipment or may activate active lights and RF markers12230 to provide additional positioning information for the drones.

Drones 12100 may upon hive arrival begin their preflight process 12105to check their systems and ensure they can operate safely.

Drones 12100 may then enter their launch and calibrate module 12110 andperform basic checks to ensure each drone is operating nominally. Drones12100 may image known objects to ensure that optical and other systemsare working properly. They may for example orbit their launching hiveand observe the visual and RF markers 12230 to calibrate their visualsystems and may correct optical flaws such as dirty lens or estimate thevisibility issues such as fog or rain. They may also calibrate their RFsystems and ensure that there are no unanticipated network problems.Prior to takeoff, the hive (with accelerometers) may determine that thesystem is stationary and level. Once stationary and level, the hiveplaces the drones in calibration mode where they zero out biases on theaccelerometers and rate gyroscopes. The drones take off, may havecalibrated markers that are place on the hive or in previously deployedmarkers in view to get an initial 6 DoF pose, they do a compasscalibration by slowing yawing at a speed of less than 40 degree/secondand calibrating for local magnetic disturbances.

Drones 12100 in formup module 12120 may operate in arrays so failures atthe array level are handled there and there are problems the dronearrays compensate with additional flights if possible or more likely byusing spare drones. The drones may use visual markers and active markerson one or more hives to provide additional localization and this may beused to ensure the separation between drones is adequate andlocalization is accurate.

The drones in the mission executor 12130 may load the mission parametersfrom the mission store 12235. The mission execution may have drones thatmay “hop” from one hive to another to reach the final site for imaging.Drones may be assigned to different tasks depending on theircapabilities either singly or in a pod. For example some may stay to actas overall controllers of the scene. Drones or hives may localize pointsand keep other drones in view to provide an overall view of the objectsand the drones and hives. Others drones may be allocated to becommunications backhaul tasks if there are dark regions that lackcoverage or there is the need for additional bandwidth.

As with drones, the privacy check system 12140 may detect existingmarkers or identify locations that have attached NFTs in the 4D map. Thedrones mainly examine the privacy rights information kept on those NFTsand they may have distributed ledgers or other data restricting accessfor different kinds of imaging. The privacy check may terminate or maycryptographically seal the data they capture for only authorizedentities.

As the drones fly, they can activate image and drop module 12150. Theymay image the scene with various sensors, they may sample the RFenvironment, and/or they may sample the weather and atmosphericconditions for clouds. They may, if in the correct location, dropartifacts such as position markers both passive and active visual or RFmarkers to note the exact positions. These markers may be permanent andallow more efficient rescans later. The drones may themselves becomemarkers and land at specific locations providing both camera, optical,RF markers as well as provide input to other systems.

Drones may drop NFT markers as appropriate to mark the survey space andserve as physical and virtual tags that the data was acquired. If thereare existing markers, the survey information will be added to thosetokens. These act as the equivalent of a physical “door hanger” sayingthat your property was just surveyed and leaving the name of thesurveyor. This provides a distributed ledger or all parties that havesurveyed an area.

Drones may transmit their imaging and other data to one or more hivedata stores 12240 that may cache this information and may delay theirtransmission until they determine or the mission plan or the hivedetermines there is available bandwidth. They may alter course to flyinto RF hotspots to optimize the transmission time and bandwidth acrossthe entire system.

Hive data stores 12240 may transmit any or all of the raw sensor data tocloud 3D model 12250 depending on communications bandwidth.

Drones may use a 3D map update 12160 to reconstruct the 3D world aroundthem. They may perform both object avoidance flags for unexpectedobstacles in their path. They may automatically recognize objects andplace them into a 3D world that may include both the immediate worldaround them and they may also place themselves into an Atlas ofpreviously loaded words to locate themselves in the larger world.

One or more hives may individually or working together use the hive 3Dmodel 12250 and may construct an RF Map and a 3D World map that may bean enhancement of the models loaded from cloud 3D model 12350. Asvarious features are mapped, the hives may perform real-time SLAM tocreate a picture of the world and determine precise locations andcorrections available to the hive because it has more inputs and morecomputation power. These corrections may be synchronized back to thedrone 3D map update 12160.

Cloud 3D model 12350 may also generate precise information given thegreat computational power available in a cloud service and synchronizeand correlate these differences with the hive 3D model. The onsite hivesmay use their dynamic backhaul network to relay information to thecloud.

The hive may update its RF, weather models 12260 based on informationfrom other hives and drones to place into the 3D model.

The hive may use the object detection system 12270 to identifyadditional objects in the object detection system.

The drones may together or individually generate drone events 12170different problems and notifications. For example, if a drone encountersphysical problems in the environment such as an unexpected obstacle orfailures such a power loss or unexpected low battery occur and these mayresult in the drone event initiating various actions such as return tohome or stop traveling or land immediately.

Drone event 12170 may send these events to one or more hive multi-droneplanner modules 12280 to reschedule and change missions. The hive droneevent may schedule additional paths to be run, modify the path plans,launch preflight 12105 additional drones, or reassign existing hives anddrones with new plans as needed to ensure a good mission. The plannermay handle a wide variety of events. It may have drones return to hivesfor recharge, it may reallocate drones that are temporarily unavailableback to new drone pods and it may direct one or more drones to rechargeat one or more different hives.

Local path planner 12180 may obtain drone events 12170 and complete itsown mission plan for individual drones, and can operate without hivecommunications.

MultiDrone planner 12280 may send its path plans to drone local pathplanner 12180 when it determines that a better plan is available or thatthere is global change needed or that it has a better plan because ithas more precise positioning.

As the local path planner 12180 receives these events, it may return toformup 12120 if new formations are required and then can execute one ormore mission modules 12130, 12140, 12150, 12160 and 12170 as appropriateto the missions.

When the local path planner 12180 determines the mission is complete,the drones begin their landing 12190 sequence. The drones may return tothe launching hive, the hive may move to a different location based onwind and weather patterns or the drones may return to a different hiveas determined by Global Mission Planner 12280.

Hives 12200 may use the Next Site module 12290 to determine where theygo next. The hives main return to pool awakening and the hives anddrones may be split and sent to different sites or powered down awaitingnew work.

The Next Site 12290 may send the logs that may include the missionactual paths and new world model sent to Fleet Status, Test and Trainingmodule 12390. The actual and predicted paths and resulting data sent tothe cloud so that they may be used to train recognition, simulation andother systems to more closely match what was actually found.

Cloud 12300 may process the data in the New World model 12395. The 3Dworld data may be integrated into the global model 12310, the newobjects found may be trained against the system and the simulator 12320can be corrected for errors in prediction, and optimizer 12330 forerrors in the paths planned.

An onsite operator may use one or more Operator Terminal 12265 to viewthe Hive 3D Model 12250 and assess the mission and flight. OperatorInput 12275 may provide input into multi-drone planner 12280 that maymodify the mission such as taking manual control of drones, ordering anearly stop, adding new mission parameters.

Remote operators may access the live drone data from the Cloud 3D Model12350 and may initial a virtual reality (VR) conference 12430 to allowmultiple remote operators the ability to see and communicate through theremote terminals 12440. They may communicate with onsite OperatorTerminals 12265 and may order changes or additions to the mission planas needed to meet their requirements.

Cloud 3D Model 12350 may integrate with other systems passingappropriate data through the Enterprise Integration 12460, which mayconnect with systems such as construction building information systems.Enterprise integration 12460 may allow automatic mission planner byinjecting new missions 12410 autonomously into the system and mayprovide additional information in VR conference system 12430.

Some embodiments, such as those where a single mission is to be flown ata single location by a few drones, may include 4D World 12310 beingloaded with the location data and a single hive is in the Simulation12320. Hive 12200 may have a human driver to take it to a new site. Thenone or more drones 12100 (e.g., three drones), may begin Preflight 12105and then fly the missions without interruption. The drones can provideimage information in Image and Drop 12150 and update the Hive Data Store12240, which may subsequently update the Hive 3D Model 12250 and theCloud 3D Model 12350. Cloud 12300 may then provide that data to ModelIntegration and Training system 12370 to update 4D world model 12310.Drones 12100 may land with Land 12190 and then Next Site Module 12290can route them to the next site for additional survey.

An example use case may relate to planning a city wide survey systemthat feeds multiple enterprises and can use drones from multiplesources. In this case a number of different operators may manually orautomatically, through Integration 12370, create a large set of missionseach with different privacy settings as may be monitored in the dronePrivacy Check 12140 at imaging time and may be filtered out or encryptedin the model with Privacy Control 12380. The Mission Planner 12420 mayaggregate available hives 12200 and drones 12100 from many differentowners and operators into a single Mission Database 12450. Optimizer12330 can then simulate 12320 the entire multi-mission, multi-site modeland determine the best as may be measured in lower cost, meetingrequired accuracy and faster as may be weighted by different missionsrequirements. Scheduler 12340 may dispatch multiple hives along distinctroutes as specified in Hive Plan 12205. As each hive Arrives 12210, theywill deploy and calibrate 12220 each hive and then launch and calibrate12110 drones as needed in various sequences and in parallel to minimizepotential for collisions. Finally, the drones may form up into pods toaccomplish their missions as specified by the Mission Executor 12130.

Each hive can manage a set of drones and reroute drones as appropriatein the MultiDrone Planner 12280. As drones complete missions and beginLanding 12190, the hives may asynchronously land the appropriate dronesand move to the Next Site 12290. The various missions may finish atdifferent times and asynchronously Cloud 3D Model 12350 can receiveupdates. Enterprise Integration 12460 can be notified and PrivacyControl 12380 can ensure that the data rights are observed so onlyimages destined for one client are shown to them and are invisible toothers in the multi-tenant system.

FIG. 13 illustrates an example computer system 1300. In particularembodiments, one or more computer systems 1300 perform one or more stepsof one or more methods described or illustrated herein. In particularembodiments, one or more computer systems 1300 provide functionalitydescribed or illustrated herein. In particular embodiments, softwarerunning on one or more computer systems 1300 performs one or more stepsof one or more methods described or illustrated herein or providesfunctionality described or illustrated herein. Particular embodimentsinclude one or more portions of one or more computer systems 1300.Herein, reference to a computer system may encompass a computing device,and vice versa, where appropriate. Moreover, reference to a computersystem may encompass one or more computer systems, where appropriate.

This disclosure contemplates any suitable number of computer systems1300. This disclosure contemplates computer system 1300 taking anysuitable physical form. As example and not by way of limitation,computer system 1300 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, a tabletcomputer system, or a combination of two or more of these. Whereappropriate, computer system 1300 may include one or more computersystems 1300; be unitary or distributed; span multiple locations; spanmultiple machines; span multiple data centers; or reside in a cloud,which may include one or more cloud components in one or more networks.Where appropriate, one or more computer systems 1300 may perform withoutsubstantial spatial or temporal limitation one or more steps of one ormore methods described or illustrated herein. As an example and not byway of limitation, one or more computer systems 1300 may perform in realtime or in batch mode one or more steps of one or more methods describedor illustrated herein. One or more computer systems 1300 may perform atdifferent times or at different locations one or more steps of one ormore methods described or illustrated herein, where appropriate.

In particular embodiments, computer system 1300 includes a processor1302, memory 1304, storage 1306, an input/output (I/O) interface 1308, acommunication interface 1310, and a bus 1312. Although this disclosuredescribes and illustrates a particular computer system having aparticular number of particular components in a particular arrangement,this disclosure contemplates any suitable computer system having anysuitable number of any suitable components in any suitable arrangement.

In particular embodiments, processor 1302 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions,processor 1302 may retrieve (or fetch) the instructions from an internalregister, an internal cache, memory 1304, or storage 1306; decode andexecute them; and then write one or more results to an internalregister, an internal cache, memory 1304, or storage 1306. In particularembodiments, processor 1302 may include one or more internal caches fordata, instructions, or addresses. This disclosure contemplates processor1302 including any suitable number of any suitable internal caches,where appropriate. As an example and not by way of limitation, processor1302 may include one or more instruction caches, one or more datacaches, and one or more translation lookaside buffers (TLBs).Instructions in the instruction caches may be copies of instructions inmemory 1304 or storage 1306, and the instruction caches may speed upretrieval of those instructions by processor 1302. Data in the datacaches may be copies of data in memory 1304 or storage 1306 forinstructions executing at processor 1302 to operate on; the results ofprevious instructions executed at processor 1302 for access bysubsequent instructions executing at processor 1302 or for writing tomemory 1304 or storage 1306; or other suitable data. The data caches mayspeed up read or write operations by processor 1302. The TLBs may speedup virtual-address translation for processor 1302. In particularembodiments, processor 1302 may include one or more internal registersfor data, instructions, or addresses. This disclosure contemplatesprocessor 1302 including any suitable number of any suitable internalregisters, where appropriate. Where appropriate, processor 1302 mayinclude one or more arithmetic logic units (ALUs); be a multi-coreprocessor; or include one or more processors 1302. Although thisdisclosure describes and illustrates a particular processor, thisdisclosure contemplates any suitable processor.

In particular embodiments, memory 1304 includes main memory for storinginstructions for processor 1302 to execute or data for processor 1302 tooperate on. As an example and not by way of limitation, computer system1300 may load instructions from storage 1306 or another source (such as,for example, another computer system 1300) to memory 1304. Processor1302 may then load the instructions from memory 1304 to an internalregister or internal cache. To execute the instructions, processor 1302may retrieve the instructions from the internal register or internalcache and decode them. During or after execution of the instructions,processor 1302 may write one or more results (which may be intermediateor final results) to the internal register or internal cache. Processor1302 may then write one or more of those results to memory 1304. Inparticular embodiments, processor 1302 executes only instructions in oneor more internal registers or internal caches or in memory 1304 (asopposed to storage 1306 or elsewhere) and operates only on data in oneor more internal registers or internal caches or in memory 1304 (asopposed to storage 1306 or elsewhere). One or more memory buses (whichmay each include an address bus and a data bus) may couple processor1302 to memory 1304. Bus 1312 may include one or more memory buses, asdescribed below. In particular embodiments, one or more memorymanagement units (MMUs) reside between processor 1302 and memory 1304and facilitate accesses to memory 1304 requested by processor 1302. Inparticular embodiments, memory 1304 includes random access memory (RAM).This RAM may be volatile memory, where appropriate This RAM may bedynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate,this RAM may be single-ported or multi-ported RAM. This disclosurecontemplates any suitable RAM. Memory 1304 may include one or morememories 1304, where appropriate. Although this disclosure describes andillustrates particular memory, this disclosure contemplates any suitablememory.

In particular embodiments, storage 1306 includes mass storage for dataor instructions. As an example and not by way of limitation, storage1306 may include a hard disk drive (HDD), a floppy disk drive, flashmemory, an optical disc, a magneto-optical disc, magnetic tape, or aUniversal Serial Bus (USB) drive or a combination of two or more ofthese. Storage 1306 may include removable or non-removable (or fixed)media, where appropriate. Storage 1306 may be internal or external tocomputer system 1300, where appropriate. In particular embodiments,storage 1306 is non-volatile, solid-state memory. In particularembodiments, storage 1306 includes read-only memory (ROM). Whereappropriate, this ROM may be mask-programmed ROM, programmable ROM(PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM),electrically alterable ROM (EAROM), or flash memory or a combination oftwo or more of these. This disclosure contemplates mass storage 1306taking any suitable physical form. Storage 1306 may include one or morestorage control units facilitating communication between processor 1302and storage 1306, where appropriate. Where appropriate, storage 1306 mayinclude one or more storages 1306. Although this disclosure describesand illustrates particular storage, this disclosure contemplates anysuitable storage.

In particular embodiments, I/O interface 1308 includes hardware,software, or both, providing one or more interfaces for communicationbetween computer system 1300 and one or more I/O devices. Computersystem 1300 may include one or more of these I/O devices, whereappropriate. One or more of these I/O devices may enable communicationbetween a person and computer system 1300. As an example and not by wayof limitation, an I/O device may include a keyboard, keypad, microphone,monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet,touch screen, trackball, video camera, another suitable I/O device or acombination of two or more of these. An I/O device may include one ormore sensors. This disclosure contemplates any suitable I/O devices andany suitable I/O interfaces 1308 for them. Where appropriate, I/Ointerface 1308 may include one or more device or software driversenabling processor 1302 to drive one or more of these I/O devices. I/Ointerface 1308 may include one or more I/O interfaces 1308, whereappropriate. Although this disclosure describes and illustrates aparticular I/O interface, this disclosure contemplates any suitable I/Ointerface.

In particular embodiments, communication interface 1310 includeshardware, software, or both providing one or more interfaces forcommunication (such as, for example, packet-based communication) betweencomputer system 1300 and one or more other computer systems 1300 or oneor more networks. As an example and not by way of limitation,communication interface 1310 may include a network interface controller(NIC) or network adapter for communicating with an Ethernet or otherwire-based network or a wireless NIC (WNIC) or wireless adapter forcommunicating with a wireless network, such as a WI-FI network. Thisdisclosure contemplates any suitable network and any suitablecommunication interface 1310 for it. As an example and not by way oflimitation, computer system 1300 may communicate with an ad hoc network,a personal area network (PAN), a local area network (LAN), a wide areanetwork (WAN), a metropolitan area network (MAN), or one or moreportions of the Internet or a combination of two or more of these. Oneor more portions of one or more of these networks may be wired orwireless. As an example, computer system 1300 may communicate with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN orultra-wideband WPAN), a WI-FI network, a WI-MAX network, a cellulartelephone network (such as, for example, a Global System for MobileCommunications (GSM) network), or other suitable wireless network or acombination of two or more of these. Computer system 1300 may includeany suitable communication interface 1310 for any of these networks,where appropriate. Communication interface 1310 may include one or morecommunication interfaces 1310, where appropriate. Although thisdisclosure describes and illustrates a particular communicationinterface, this disclosure contemplates any suitable communicationinterface.

In particular embodiments, bus 1312 includes hardware, software, or bothcoupling components of computer system 1300 to each other. As an exampleand not by way of limitation, bus 1312 may include an AcceleratedGraphics Port (AGP) or other graphics bus, an Enhanced Industry StandardArchitecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT)interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBANDinterconnect, a low-pin-count (LPC) bus, a memory bus, a Micro ChannelArchitecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, aPCI-Express (PCIe) bus, a serial advanced technology attachment (SATA)bus, a Video Electronics Standards Association local (VLB) bus, oranother suitable bus or a combination of two or more of these. Bus 1312may include one or more buses 1312, where appropriate. Although thisdisclosure describes and illustrates a particular bus, this disclosurecontemplates any suitable bus or interconnect.

Herein, a computer-readable non-transitory storage medium or media mayinclude one or more semiconductor-based or other integrated circuits(ICs) (such, as for example, field-programmable gate arrays (FPGAs) orapplication-specific ICs (ASICs)), hard disk drives (HDDs), hybrid harddrives (HHDs), optical discs, optical disc drives (ODDs),magneto-optical discs, magneto-optical drives, floppy diskettes, floppydisk drives (FDDs), magnetic tapes, solid-state drives (SSDs),RAM-drives, SECURE DIGITAL cards or drives, any other suitablecomputer-readable non-transitory storage media, or any suitablecombination of two or more of these, where appropriate. Acomputer-readable non-transitory storage medium may be volatile,non-volatile, or a combination of volatile and non-volatile, whereappropriate.

Herein, “or” is inclusive and not exclusive, unless expressly indicatedotherwise or indicated otherwise by context. Therefore, herein, “A or B”means “A, B, or both,” unless expressly indicated otherwise or indicatedotherwise by context. Moreover, “and” is both joint and several, unlessexpressly indicated otherwise or indicated otherwise by context.Therefore, herein, “A and B” means “A and B, jointly or severally,”unless expressly indicated otherwise or indicated otherwise by context.

The scope of this disclosure encompasses all changes, substitutions,variations, alterations, and modifications to the example embodimentsdescribed or illustrated herein that a person having ordinary skill inthe art would comprehend. The scope of this disclosure is not limited tothe example embodiments described or illustrated herein. Moreover,although this disclosure describes and illustrates respectiveembodiments herein as including particular components, elements,feature, functions, operations, or steps, any of these embodiments mayinclude any combination or permutation of any of the components,elements, features, functions, operations, or steps described orillustrated anywhere herein that a person having ordinary skill in theart would comprehend. Furthermore, any reference herein to an apparatusor system or a component of an apparatus or system being adapted to,arranged to, capable of, configured to, enabled to, operable to, oroperative to perform a particular function encompasses that apparatus,system, component, whether or not it or that particular function isactivated, turned on, or unlocked, as long as that apparatus, system, orcomponent is so adapted, arranged, capable, configured, enabled,operable, or operative. Additionally, although this disclosure describesor illustrates particular embodiments as providing particularadvantages, particular embodiments may provide none, some, or all ofthese advantages.

Example Embodiments

Embodiments disclosed herein may include any one of the following or anycombination of any of the following.

One or more embodiments can include a method for improving wirelesscommunication for a drone swarm, the method comprising, at a computingsystem: receiving, from a plurality of drones of a drone swarm, datacomprising radio frequency signal characteristics detected by theplurality of drones; generating a model of a radio frequency environmentfor the drone swarm based on the data received from the plurality ofdrones; and controlling at least one wireless communication system toimprove wireless communication for the drone swarm based on the model ofthe radio frequency environment.

In any of these embodiments, the data may comprise positionalinformation for the drones.

In any of these embodiments, the at least one wireless communicationsystem may be deployed to boost wireless signal strength at a locationidentified based on the model. The at least one wireless communicationsystem can include one or more mobile base stations, one or more drones,or a combination of one or more drones and one or more mobile basestations.

In any of these embodiments, the at least one wireless communicationsystem can include one or more drones of the drone swarm and controllingthe at least one wireless communication system can include deploying oneor more drones to a location identified based on the model. Optionally,he location can be associated with higher signal strength than at leastsome areas surrounding the location, and the method may further includetransmitting survey data from a surveying drone of the drone swarm to atleast one base station via the drone deployed to the at least onelocation.

In any of these embodiments, controlling at least one wirelesscommunication system may include: determining whether a locationidentified based on the model is accessible by a mobile base station; inaccordance with determining that the location is accessible by themobile base station, deploying the mobile base station to the location;and in accordance with determining that the location is not accessibleby the mobile base station, deploying a drone of the drone swarm to thelocation.

In any of these embodiments, generating a model of a radio frequencyenvironment for the drone swarm can include predicting portions of theradio frequency environment using a machine learning model.

In any of these embodiments, controlling at least one wirelesscommunication system can include steering a radio frequency antennatoward a location identified based on the model.

In any of these embodiments, the method may further include controllingat least one drone of the swarm of drones to store survey data until theat least one drone arrives at a location identified based on the modeland transmit the survey data to a based station while at the location.

One or more embodiments, including any one of the above embodiments, caninclude a method for communicating data by drones, the methodcomprising: surveying a location by a cluster of drones and generatingdata associated with the surveying; communicating a first portion ofdata generated by the cluster of drones within the cluster of drones;and communicating a second portion of the data generated by the clusterof drones from one or more of the drones of the cluster of drones to atleast one base station via at least one drone that has a higher powerwireless communication system than the drones of the cluster of drones.

In any of these embodiments, the method can include controlling thecluster of drones such that drones remain spatially clustered whilesurveying the location.

In any of these embodiments, the cluster of drones can be a firstcluster of drones that communicates within the first cluster of dronesvia a first frequency band, and the method may further include surveyingthe location by a second cluster of drones that communicates within thesecond cluster of drones via a second frequency band.

In any of these embodiments, the first portion of data may includepositional data.

In any of these embodiments the second portion of data may includeimaging data.

One or more embodiments can include a system comprising one or moreprocessors, memory, and one or more programs stored in the memory forexecution by the one or more processors for performing any of the abovemethods.

One or more embodiments can include a non-transitory computer readablemedium storing instructions that, when executed by one or moreprocessors of a computing system, cause the computing system to performany of the above methods.

1. A method for improving wireless communication for a drone swarm, themethod comprising, at a computing system: receiving, from a plurality ofdrones of a drone swarm, data comprising radio frequency signalcharacteristics detected by the plurality of drones; generating a modelof a radio frequency environment for the drone swarm based on the datareceived from the plurality of drones; and controlling at least onewireless communication system to improve wireless communication for thedrone swarm based on the model of the radio frequency environment. 2.The method of claim 1, wherein the data comprises positional informationfor the drones.
 3. The method of claim 1, wherein the at least onewireless communication system is deployed to boost wireless signalstrength at a location identified based on the model.
 4. The method ofclaim 3, wherein the at least one wireless communication systemcomprises a mobile base station.
 5. The method of claim 1, wherein theat least one wireless communication system comprises a drone of thedrone swarm and controlling the at least one wireless communicationsystem comprises deploying the drone to a location identified based onthe model.
 6. The method of claim 5, wherein the location is associatedwith higher signal strength than at least some areas surrounding thelocation, and the method further comprises transmitting survey data froma surveying drone of the drone swarm to at least one base station viathe drone deployed to the at least one location.
 7. The method of claim1, wherein controlling at least one wireless communication systemcomprises: determining whether a location identified based on the modelis accessible by a mobile base station; in accordance with determiningthat the location is accessible by the mobile base station, deployingthe mobile base station to the location; and in accordance withdetermining that the location is not accessible by the mobile basestation, deploying a drone of the drone swarm to the location.
 8. Themethod of claim 1, generating a model of a radio frequency environmentfor the drone swarm comprises predicting portions of the radio frequencyenvironment using a machine learning model.
 9. The method of claim 1,wherein controlling at least one wireless communication system comprisessteering a radio frequency antenna toward a location identified based onthe model.
 10. The method of claim 1, further comprising controlling atleast one drone of the swarm of drones to store survey data until the atleast one drone arrives at a location identified based on the model andtransmit the survey data to a based station while at the location.
 11. Asystem comprising one or more processors, memory, and one or moreprograms stored in the memory for execution by the one or moreprocessors for: receiving, from a plurality of drones of a drone swarm,data comprising radio frequency signal characteristics detected by theplurality of drones; generating a model of a radio frequency environmentfor the drone swarm based on the data received from the plurality ofdrones; and controlling at least one wireless communication system toimprove wireless communication for the drone swarm based on the model ofthe radio frequency environment.
 12. A non-transitory computer readablemedium storing instructions that, when executed by one or moreprocessors of a computing system, cause the computing system to:receive, from a plurality of drones of a drone swarm, data comprisingradio frequency signal characteristics detected by the plurality ofdrones; generate a model of a radio frequency environment for the droneswarm based on the data received from the plurality of drones; andcontrol at least one wireless communication system to improve wirelesscommunication for the drone swarm based on the model of the radiofrequency environment.
 13. A method for communicating data by drones,the method comprising: surveying a location by a cluster of drones andgenerating data associated with the surveying; communicating a firstportion of data generated by the cluster of drones within the cluster ofdrones; and communicating a second portion of the data generated by thecluster of drones from one or more of the drones of the cluster ofdrones to at least one base station via at least one drone that has ahigher power wireless communication system than the drones of thecluster of drones.
 14. The method of claim 13, comprising controllingthe cluster of drones such that drones remain spatially clustered whilesurveying the location.
 15. The method of claim 13, wherein the clusterof drones is a first cluster of drones that communicates within thefirst cluster of drones via a first frequency band, and the methodfurther comprising surveying the location by a second cluster of dronesthat communicates within the second cluster of drones via a secondfrequency band.
 16. The method of claim 13, wherein the first portion ofdata comprises positional data.
 17. The method of claim 13, wherein thesecond portion of data comprises imaging data.
 18. A system comprisingone or more processors, memory, and one or more programs stored in thememory for execution by the one or more processors for: surveying alocation by a cluster of drones and generating data associated with thesurveying; communicating a first portion of data generated by thecluster of drones within the cluster of drones; and communicating asecond portion of the data generated by the cluster of drones from oneor more of the drones of the cluster of drones to at least one basestation via at least one drone that has a higher power wirelesscommunication system than the drones of the cluster of drones.
 19. Anon-transitory computer readable medium storing instructions that, whenexecuted by one or more processors of a computing system, cause thecomputing system to: survey a location by a cluster of drones andgenerating data associated with the surveying; communicate a firstportion of data generated by the cluster of drones within the cluster ofdrones; and communicate a second portion of the data generated by thecluster of drones from one or more of the drones of the cluster ofdrones to at least one base station via at least one drone that has ahigher power wireless communication system than the drones of thecluster of drones.